Код: Выделить всё
[project]
authors = [{ name = "name", email = "[email protected]" }]
name = "name"
version = "0.0.0"
description = "description"
readme = { file = "README.md", content-type = "text/markdown" }
license = { file = "LICENSE" }
keywords = ["key", "words"]
dependencies = ["requests", "filetype", "pypdf", "mypy", "types-requests"]
classifiers = [
"Intended Audience :: Developers",
"Programming Language :: Python :: 3.11",
"Operating System :: POSIX :: Linux",
"Operating System :: Unix",
]
[project.urls]
Repository = "https://www.myrepo.com/"
[project.scripts]
scripts = "package_name.main:main"
[build-system]
requires = ["setuptools>=42", "wheel", "mypy", "types-requests"]
build-backend = "setuptools.build_meta"
[tool.black]
line-length = 120
[tool.isort]
line_length = 120
profile = "black"
[tool.mypy]
ignore_missing_imports = true
[tool.commitizen]
name = "cz_conventional_commits"
tag_format = "$version"
version_files = ["./pyproject.toml", "./package_name/_version.py:__version__"]
version_scheme = "semver"
version_provider = "pep621"
update_changelog_on_bump = true
Код: Выделить всё
#!/usr/bin/env python
from glob import glob
from mypyc.build import mypycify
from setuptools import find_packages, setup
paths: list[str] = glob("package_name/**.py")
paths += glob("package_name/src/**.py")
setup(
packages=find_packages(exclude=["*tests*"]),
ext_modules=mypycify(paths),
)
Код: Выделить всё
package_name-0.0.0-cp311-cp311-macosx_15_0_arm64.whl
Код: Выделить всё
package_name-0.0.0.tar.gz
Код: Выделить всё
package_name-0.0.0-py3-none-any.whl
Код: Выделить всё
package_name-0.0.0.tar.gz
Самое простое решение — создать два пакета с разными именами. Один уникальный файл setup.py для каждого, единственное отличие которого состоит в том, что у одного есть ext_modules=mypycify(paths),, а у другого нет. Но в моем случае это кажется глупым, поскольку единственной разницей будет эта строка в setup.py.
Подробнее здесь: https://stackoverflow.com/questions/793 ... ploading-t