Skip to content

Commit af77bf3

Browse files
committed
[Feat] provide a editable installation way for tools like uv
1 parent 2543429 commit af77bf3

File tree

3 files changed

+113
-4
lines changed

3 files changed

+113
-4
lines changed

mmengine/version.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
__version__ = '0.11.0rc0'
44

55

6-
def parse_version_info(version_str):
6+
def parse_version_info(version_str: str):
77
"""Parse the version information.
88
99
Args:

pyproject.toml

Lines changed: 102 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,102 @@
1+
[build-system]
2+
requires = ["setuptools>=64", "wheel", "importlib-metadata; python_version < '3.8'"]
3+
build-backend = "setuptools.build_meta"
4+
5+
[project]
6+
name = "mmengine"
7+
version = "0.11.0rc0"
8+
description = "Engine of OpenMMLab projects"
9+
readme = "README.md"
10+
requires-python = ">=3.7"
11+
license-files = ["LICENSE"]
12+
authors = [
13+
{ name = "MMEngine Authors", email = "[email protected]" },
14+
]
15+
urls = { "Homepage" = "https://github.com/open-mmlab/mmengine" }
16+
17+
classifiers = [
18+
"Development Status :: 4 - Beta",
19+
"Operating System :: OS Independent",
20+
"Programming Language :: Python :: 3",
21+
"Programming Language :: Python :: 3.7",
22+
"Programming Language :: Python :: 3.8",
23+
"Programming Language :: Python :: 3.10",
24+
"Programming Language :: Python :: 3.11",
25+
"Programming Language :: Python :: 3.12",
26+
"Topic :: Utilities"
27+
]
28+
29+
dependencies = [
30+
"addict",
31+
"matplotlib",
32+
"numpy<2.0",
33+
"pyyaml",
34+
"regex;sys_platform=='win32'",
35+
"rich",
36+
"termcolor"
37+
]
38+
39+
[project.optional-dependencies]
40+
all = [
41+
"aim<=3.17.5;sys_platform!='win32'",
42+
"bitsandbytes",
43+
"clearml",
44+
"coverage",
45+
"dadaptation",
46+
"dvclive",
47+
"lion-pytorch",
48+
"lmdb",
49+
"mlflow",
50+
"parameterized",
51+
"pydantic==1.10.9",
52+
"pytest",
53+
"transformers"
54+
]
55+
tests = [
56+
"pytest"
57+
]
58+
59+
[tool.setuptools]
60+
include-package-data = true
61+
62+
[tool.pytest.ini_options]
63+
testpaths = ["tests"]
64+
65+
[tool.ruff]
66+
line-length = 120
67+
target-version = "py312"
68+
fix = true
69+
70+
[tool.setuptools.packages.find]
71+
where = ["mmengine"]
72+
include = ["mmengine*"]
73+
74+
[tool.ruff.lint]
75+
ignore = ["C408", "C901", "E501", "E741", "F402", "F823", "SIM1", "SIM300", "SIM212", "SIM905", "UP009", "UP015", "UP031", "UP028", "UP004", "UP045", "UP007", "UP035"]
76+
select = ["C", "E", "F", "I", "W", "RUF013", "PERF102", "PLC1802", "PLC0208", "SIM", "UP"]
77+
extend-safe-fixes = ["UP006"]
78+
79+
[tool.ruff.lint.per-file-ignores]
80+
"__init__.py" = ["E402", "F401", "F403", "F811"]
81+
82+
[tool.ruff.lint.isort]
83+
lines-after-imports = 2
84+
85+
[tool.coverage.run]
86+
source = ["transformers"]
87+
omit = [
88+
"*/convert_*",
89+
"*/__main__.py"
90+
]
91+
92+
[tool.coverage.report]
93+
exclude_lines = [
94+
"pragma: no cover",
95+
"raise",
96+
"except",
97+
"register_parameter"
98+
]
99+
100+
[tool.ruff.format]
101+
quote-style = "double"
102+
indent-style = "space"

setup.py

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,15 @@
11
import os
22
import re
3+
34
from setuptools import find_packages, setup # type: ignore
45

5-
from pkg_resources import DistributionNotFound, get_distribution
6+
7+
try:
8+
from importlib.metadata import PackageNotFoundError, version
9+
except ImportError:
10+
# for Python <3.8
11+
from importlib_metadata import PackageNotFoundError, version
12+
613

714

815
def readme():
@@ -19,8 +26,8 @@ def choose_requirement(primary, secondary):
1926
return secondary."""
2027
try:
2128
name = re.split(r'[!<>=]', primary)[0]
22-
get_distribution(name)
23-
except DistributionNotFound:
29+
version(name)
30+
except PackageNotFoundError:
2431
return secondary
2532

2633
return str(primary)

0 commit comments

Comments
 (0)