diff --git a/.gitignore b/.gitignore index 88f7486..bd4a714 100644 --- a/.gitignore +++ b/.gitignore @@ -1,170 +1,34 @@ -# ---> Python -# Byte-compiled / optimized / DLL files -__pycache__/ -*.py[cod] -*$py.class -*.diff -.pylint.* -*~ +.pylint.err +.pylint.out +*.pyc +*.pyo + +libs/ +*.egg-info +*.log +*.out *.bak -# C extensions +.idea +*~ +#* +*.iml +*.junk + *.so - -# Distribution / packaging -.Python -build/ -develop-eggs/ -dist/ -downloads/ -eggs/ -.eggs/ -lib/ -lib64/ -parts/ -sdist/ -var/ -wheels/ -share/python-wheels/ -*.egg-info/ -.installed.cfg -*.egg -MANIFEST - -# PyInstaller -# Usually these files are written by a python script from a template -# before PyInstaller builds the exe, so as to inject date/other infos into it. -*.manifest -*.spec - -# Installer logs -pip-log.txt -pip-delete-this-directory.txt - -# Unit test / coverage reports -htmlcov/ -.tox/ -.nox/ -.coverage -.coverage.* -.cache -nosetests.xml -coverage.xml -*.cover -*.py,cover -.hypothesis/ -.pytest_cache/ -cover/ - -# Translations -*.mo -*.pot - -# Django stuff: *.log -local_settings.py -db.sqlite3 -db.sqlite3-journal - -# Flask stuff: -instance/ -.webassets-cache - -# Scrapy stuff: -.scrapy - -# Sphinx documentation -docs/_build/ - -# PyBuilder -.pybuilder/ -target/ - -# Jupyter Notebook -.ipynb_checkpoints - -# IPython -profile_default/ -ipython_config.py - -# pyenv -# For a library or package, you might want to ignore these files since the code is -# intended to run in multiple environments; otherwise, check them in: -# .python-version - -# pipenv -# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. -# However, in case of collaboration, if having platform-specific dependencies or dependencies -# having no cross-platform support, pipenv may install dependencies that don't work, or not -# install all needed dependencies. -#Pipfile.lock - -# poetry -# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control. -# This is especially recommended for binary packages to ensure reproducibility, and is more -# commonly ignored for libraries. -# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control -#poetry.lock - -# pdm -# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control. -#pdm.lock -# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it -# in version control. -# https://pdm.fming.dev/#use-with-ide -.pdm.toml - -# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm -__pypackages__/ - -# Celery stuff -celerybeat-schedule -celerybeat.pid - -# SageMath parsed files -*.sage.py - -# Environments -.env -.venv -env/ -venv/ -ENV/ -env.bak/ -venv.bak/ - -# Spyder project settings -.spyderproject -.spyproject - -# Rope project settings -.ropeproject - -# mkdocs documentation -/site - -# mypy -.mypy_cache/ -.dmypy.json -dmypy.json - -# Pyre type checker -.pyre/ - -# pytype static type analyzer -.pytype/ - -# Cython debug symbols -cython_debug/ - -# PyCharm -# JetBrains specific template is maintained in a separate JetBrains.gitignore that can -# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore -# and can be added to the global gitignore or merged into this file. For a more nuclear -# option (not recommended) you can uncomment the following to ignore the entire idea folder. -#.idea/ - -.pylint.err -.pylint.log - - +toxygen/build +toxygen/dist +*.spec +dist +toxygen/avatars +toxygen/__pycache__ +/*.egg-info +/*.egg +html +Toxygen.egg-info +*.tox +.cache +*.db +*~ +Makefile diff --git a/.rsync.sh b/.rsync.sh index 28231d2..f88370a 100644 --- a/.rsync.sh +++ b/.rsync.sh @@ -1,7 +1,7 @@ #!/bin/sh find * -name \*.py | xargs grep -l '[ ]*$' | xargs sed -i -e 's/[ ]*$//' -rsync "$@" -vax --include \*.py \ - --exclude \*.egg-info --exclude libs --exclude build \ +rsync "$@" -vax --include \*.py --exclude \*.log --exclude \*.out \ + --exclude \*.egg-info --exclude libs --exclude dist --exclude build \ --exclude \*.pyc --exclude .pyl\* --exclude \*~ --exclude \*.so \ ./ ../tox_profile.git/|grep -v /$ diff --git a/pyproject.toml b/pyproject.toml index 7036bc9..f275999 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,8 +1,6 @@ - [project] name = 'tox_profile' -dependencies = ['toxygen_wrapper', 'yaml', 'msgpack'] # coloredlogs nmap -requires-python = ">= 3.6" +requires-python = ">= 3.7" description = "Read and manipulate tox profile files" keywords = ["tox", "tox_profile"] classifiers = [ @@ -17,14 +15,27 @@ classifiers = [ # Specify the Python versions you support here. "Programming Language :: Python :: 3", + "License :: OSI Approved", + "Operating System :: POSIX :: BSD :: FreeBSD", + "Operating System :: POSIX :: Linux", + "Programming Language :: Python :: 3 :: Only", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: Implementation :: CPython", ] -dynamic = ["version", "readme", ] # cannot be dynamic ['license'] + +dynamic = ["version", "readme", "dependencies"] # cannot be dynamic ['license'] + +[project.scripts] +tox_profile = "tox_profile:iMain" [project.urls] repository = "https://git.plastiras.org/emdee/tox_profile" homepage = "https://git.plastiras.org/emdee/tox_profile" - [build-system] requires = ["setuptools >= 61.0"] build-backend = "setuptools.build_meta" @@ -32,8 +43,4 @@ build-backend = "setuptools.build_meta" [tool.setuptools.dynamic] version = {attr = "tox_profile.__version__"} readme = {file = ["README.md"]} - -[project.scripts] -tox_profile = "tox_profile:iMain" - - +dependencies = {file = ["requirements.txt"]} diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..3f7671a --- /dev/null +++ b/requirements.txt @@ -0,0 +1,9 @@ +# the versions are the current ones tested - may work with earlier versions +ruamel.yaml >= 0.18.5 +msgpack >= 1.0.7 +coloredlogs >= 15.0.1 +# optional +# nmap +# this is not on pypi yet - get it from +# https://git.plastiras.org/emdee/toxygen_wrapper +# toxygen_wrapper >= 1.0.0 diff --git a/setup.cfg b/setup.cfg new file mode 100644 index 0000000..b6ffed2 --- /dev/null +++ b/setup.cfg @@ -0,0 +1,49 @@ +[metadata] +classifiers = + License :: OSI Approved + Intended Audience :: Web Developers + Operating System :: POSIX :: BSD :: FreeBSD + Operating System :: POSIX :: Linux + Programming Language :: Python :: 3 :: Only + Programming Language :: Python :: 3.7 + Programming Language :: Python :: 3.8 + Programming Language :: Python :: 3.9 + Programming Language :: Python :: 3.10 + Programming Language :: Python :: 3.11 + Programming Language :: Python :: Implementation :: CPython +description='Read and manipulate tox profile files' +long_description='Read and manipulate tox profile files' +url='https://git.plastiras.org/emdee/tox_profile/' +keywords='ctypes Tox' + +[options] +zip_safe = false +python_requires = >=3.7 + +[easy_install] +zip_ok = false + +[flake8] +jobs = 1 +max-line-length = 88 +ignore = + E111 + E114 + E128 + E225 + E261 + E302 + E305 + E402 + E501 + E502 + E541 + E701 + E702 + E704 + E722 + E741 + F508 + F541 + W503 + W601