1- # See https://gitlab.liris.cnrs.fr/pagoda/tools/mkdocs_template/-/blob/master/user_config/pyproject.toml
2-
3- # -----------------------------------------------------------------------------
4- # Pytest configuration
5- # https://docs.pytest.org/en/latest/customize.html?highlight=pyproject#pyproject-toml
6-
7- [tool .pytest .ini_options ]
8- log_cli = true
9- asyncio_mode = " auto"
10- # log_cli_level = "DEBUG"
11- addopts = " --cov=embeddedllm --doctest-modules"
12- testpaths = [" tests" ]
13- filterwarnings = [
14- " ignore::DeprecationWarning:tensorflow.*" ,
15- " ignore::DeprecationWarning:tensorboard.*" ,
16- " ignore::DeprecationWarning:matplotlib.*" ,
17- " ignore::DeprecationWarning:flatbuffers.*" ,
18- ]
19-
20-
21- # -----------------------------------------------------------------------------
22- # Black (Option-less formatter) configuration
23- # https://black.readthedocs.io/en/stable/index.html
24-
25- [tool .black ]
26- line-length = 99
27- target-version = [" py310" ]
28- include = ' \.pyi?$|\.ipynb'
29-
30- # -----------------------------------------------------------------------------
31- # For sorting imports
32- # This is used by VS Code to sort imports
33- # https://code.visualstudio.com/docs/python/editing#_sort-imports
34- # https://timothycrosley.github.io/isort/
35-
36- [tool .isort ]
37- # Profile
38- # Base profile type to use for configuration. Profiles include: black, django,
39- # pycharm, google, open_stack, plone, attrs, hug. As well as any shared profiles.
40- # Default: ``
41- profile = " black"
42- # Treat project as a git repository and ignore files listed in .gitignore
43- # Default: `False`
44- skip_gitignore = true
45- # The max length of an import line (used for wrapping long imports).
46- # Default: `79`
47- line_length = 99
48- known_first_party = []
49-
50- # -----------------------------------------------------------------------------
51- # setuptools
52- # https://setuptools.pypa.io/en/latest/userguide/pyproject_config.html
53-
54- [build-system ]
55- # setuptools-scm considers all files tracked by git to be data files
56- requires = [" setuptools>=62.0" , " setuptools-scm" ]
57- build-backend = " setuptools.build_meta"
58-
59- [project ]
60- name = " embeddedllm"
61- description = " EmbeddedLLM: API server for Embedded Device Deployment. Currently support ONNX-DirectML."
62- readme = " README.md"
63- requires-python = " ~=3.10"
64- # keywords = ["one", "two"]
65- license = { text = " Proprietary" }
66- classifiers = [ # https://pypi.org/classifiers/
67- " Development Status :: 3 - Alpha" ,
68- " Programming Language :: Python :: 3 :: Only" ,
69- " Intended Audience :: Information Technology" ,
70- " Operating System :: Unix" ,
71- ]
72- dependencies = [
73- " huggingface-hub[cli]" ,
74- " fastapi~=0.110.0" ,
75- " gunicorn~=21.2.0" ,
76- " loguru~=0.7.2" ,
77- " numpy~=1.26.4" ,
78- " pydantic-settings>=2.2.1" ,
79- " pydantic~=2.6.3" ,
80- " onnxruntime-directml" ,
81- " onnxruntime-genai-directml" ,
82- " loguru" ,
83- " openai" ,
84- " torch" ,
85- " transformers" ,
86- " uvicorn"
87- ] # Sort your dependencies https://sortmylist.com/
88- dynamic = [" version" ]
89-
90- [project .optional-dependencies ]
91- lint = [" black~=24.4.2" , " flake8~=7.0.0" ]
92- test = [
93- " flaky~=3.7.0" ,
94- " locust~=2.24.1" ,
95- " mypy~=1.5.1" ,
96- " pytest-cov~=4.1.0" ,
97- " pytest~=7.4.2" ,
98- ]
99- docs = [
100- " furo~=2023.9.10" , # Sphinx theme (nice looking, with dark mode)
101- " myst-parser~=2.0.0" ,
102- " sphinx-autobuild~=2021.3.14" ,
103- " sphinx-copybutton~=0.5.2" ,
104- " sphinx~=7.2.6" ,
105- " sphinx_rtd_theme~=1.3.0" , # Sphinx theme
106- ]
107- build = [
108- " build" ,
109- " twine" ,
110- ] # https://realpython.com/pypi-publish-python-package/#build-your-package
111- all = [
112- " embeddedllm[lint,test,docs,build]" , # https://hynek.me/articles/python-recursive-optional-dependencies/
113- ]
114-
115- # [project.scripts]
116- # embeddedllm = "embeddedllm.scripts.example:main_cli"
117-
118- [tool .setuptools .dynamic ]
119- version = { attr = " embeddedllm.version.__version__" }
120-
121- [tool .setuptools .packages .find ]
122- where = [" src" ]
123-
124- [tool .setuptools .package-data ]
125- owl = [" **/*.json" ]
1+ # See https://gitlab.liris.cnrs.fr/pagoda/tools/mkdocs_template/-/blob/master/user_config/pyproject.toml
2+
3+ # -----------------------------------------------------------------------------
4+ # Pytest configuration
5+ # https://docs.pytest.org/en/latest/customize.html?highlight=pyproject#pyproject-toml
6+
7+ [tool .pytest .ini_options ]
8+ log_cli = true
9+ asyncio_mode = " auto"
10+ # log_cli_level = "DEBUG"
11+ addopts = " --cov=embeddedllm --doctest-modules"
12+ testpaths = [" tests" ]
13+ filterwarnings = [
14+ " ignore::DeprecationWarning:tensorflow.*" ,
15+ " ignore::DeprecationWarning:tensorboard.*" ,
16+ " ignore::DeprecationWarning:matplotlib.*" ,
17+ " ignore::DeprecationWarning:flatbuffers.*" ,
18+ ]
19+
20+
21+ # -----------------------------------------------------------------------------
22+ # Black (Option-less formatter) configuration
23+ # https://black.readthedocs.io/en/stable/index.html
24+
25+ [tool .black ]
26+ line-length = 99
27+ target-version = [" py310" ]
28+ include = ' \.pyi?$|\.ipynb'
29+
30+ # -----------------------------------------------------------------------------
31+ # For sorting imports
32+ # This is used by VS Code to sort imports
33+ # https://code.visualstudio.com/docs/python/editing#_sort-imports
34+ # https://timothycrosley.github.io/isort/
35+
36+ [tool .isort ]
37+ # Profile
38+ # Base profile type to use for configuration. Profiles include: black, django,
39+ # pycharm, google, open_stack, plone, attrs, hug. As well as any shared profiles.
40+ # Default: ``
41+ profile = " black"
42+ # Treat project as a git repository and ignore files listed in .gitignore
43+ # Default: `False`
44+ skip_gitignore = true
45+ # The max length of an import line (used for wrapping long imports).
46+ # Default: `79`
47+ line_length = 99
48+ known_first_party = []
49+
50+ # -----------------------------------------------------------------------------
51+ # setuptools
52+ # https://setuptools.pypa.io/en/latest/userguide/pyproject_config.html
53+
54+ [build-system ]
55+ # setuptools-scm considers all files tracked by git to be data files
56+ requires = [
57+ " setuptools>=62.0" ,
58+ " packaging" ,
59+ " setuptools>=49.4.0" ,
60+ " torch==2.3.1" ,
61+ " wheel"
62+ ]
63+ build-backend = " setuptools.build_meta"
0 commit comments