Skip to content

Commit 4bb0de9

Browse files
amurekicodingjoe
authored andcommitted
[draft] Attempt to move to pyproject.toml
1 parent 2a51e3d commit 4bb0de9

File tree

6 files changed

+125
-120
lines changed

6 files changed

+125
-120
lines changed

.editorconfig

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ max_line_length = 88
1414
[*.py]
1515
max_line_length = 120
1616

17-
[*.{yml, html, xml, xsl, json}]
17+
[*.{yml, html, xml, xsl, json, toml}]
1818
indent_size = 2
1919

2020
[*.{css, less}]

.gitignore

+3
Original file line numberDiff line numberDiff line change
@@ -102,3 +102,6 @@ venv.bak/
102102

103103
# mypy
104104
.mypy_cache/
105+
106+
# flit
107+
joeflow/_version.py

joeflow/__init__.py

+5
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
"""The lean workflow automation framework for machines with heart."""
22
import django
33

4+
from . import _version
5+
6+
__version__ = _version.version
7+
VERSION = _version.version_tuple
8+
49
if django.VERSION < (3, 2):
510
default_app_config = "joeflow.apps.JoeflowConfig"

pyproject.toml

+116
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,116 @@
1+
[build-system]
2+
requires = ["flit_core>=3.2", "flit_scm", "wheel"]
3+
build-backend = "flit_scm:buildapi"
4+
5+
[project]
6+
name = "joeflow"
7+
authors = [
8+
{ name = "Johannes Maron", email = "[email protected]" }
9+
]
10+
readme = "README.rst"
11+
license = { file = "LICENSE" }
12+
dynamic = ["version", "description"]
13+
classifiers = [
14+
"Development Status :: 5 - Production/Stable",
15+
"Environment :: Web Environment",
16+
"Intended Audience :: Developers",
17+
"License :: OSI Approved :: BSD License",
18+
"Operating System :: OS Independent",
19+
"Programming Language :: JavaScript",
20+
"Programming Language :: Python",
21+
"Programming Language :: Python :: 3",
22+
"Programming Language :: Python :: 3.8",
23+
"Programming Language :: Python :: 3.9",
24+
"Programming Language :: Python :: 3.10",
25+
"Programming Language :: Python :: 3.11",
26+
"Programming Language :: Python :: 3 :: Only",
27+
"Framework :: Django",
28+
"Framework :: Django :: 2.2",
29+
"Framework :: Django :: 3.2",
30+
"Framework :: Django :: 4.0",
31+
"Topic :: Software Development",
32+
"Topic :: Home Automation",
33+
"Topic :: Internet",
34+
"Topic :: Office/Business",
35+
"Topic :: Office/Business :: Financial",
36+
"Topic :: Office/Business :: Financial :: Accounting",
37+
"Topic :: Office/Business :: Financial :: Investment",
38+
"Topic :: Office/Business :: Financial :: Point-Of-Sale",
39+
"Topic :: Office/Business :: Scheduling",
40+
"Topic :: Software Development",
41+
]
42+
keywords = [
43+
"django",
44+
"process",
45+
"automation",
46+
"workflow",
47+
"framework",
48+
"task",
49+
]
50+
requires-python = ">=3.8"
51+
dependencies = [
52+
"django>=2.2",
53+
"django-appconf",
54+
"graphviz>=0.18",
55+
]
56+
57+
[project.optional-dependencies]
58+
test = [
59+
"pytest",
60+
"pytest-cov",
61+
"pytest-django",
62+
"pytest-env",
63+
"redis",
64+
]
65+
docs = [
66+
"celery>=4.2.0",
67+
"django-reversion",
68+
"dramatiq",
69+
"django_dramatiq",
70+
"redis",
71+
]
72+
reversion = [
73+
"django-reversion",
74+
]
75+
celery = [
76+
"celery>=4.2.0",
77+
]
78+
dramatiq = [
79+
"dramatiq<=1.12.0",
80+
"django_dramatiq",
81+
]
82+
83+
[project.urls]
84+
Project-URL = "https://github.com/codingjoe/joeflow"
85+
86+
[tool.flit.module]
87+
name = "joeflow"
88+
89+
[tool.setuptools_scm]
90+
write_to = "joeflow/_version.py"
91+
92+
[tool.pytest.ini_options]
93+
minversion = "6.0"
94+
addopts = "--cov=joeflow --doctest-modules"
95+
testpaths = [
96+
"tests",
97+
]
98+
norecursedirs = "tests/testapp"
99+
DJANGO_SETTINGS_MODULE = "tests.testapp.settings"
100+
env = "D:DRAMATIQ_BROKER = dramatiq.brokers.stub.StubBroker"
101+
102+
[tool.coverage.report]
103+
show_missing = true
104+
105+
[tool.isort]
106+
atomic = true
107+
line_length = 88
108+
known_first_party = "joeflow, tests"
109+
include_trailing_comma = true
110+
default_section = "THIRDPARTY"
111+
combine_as_imports = true
112+
113+
[tool.pydocstyle]
114+
add_ignore = "D1"
115+
match_dir = "(?!tests|env|docs|\\.).*"
116+
match = "(?!setup).*.py"

setup.cfg

-115
Original file line numberDiff line numberDiff line change
@@ -1,125 +1,10 @@
1-
[metadata]
2-
name = joeflow
3-
author = Johannes Maron
4-
author_email = [email protected]
5-
description = The lean workflow automation framework for machines with heart
6-
long_description = file: README.rst
7-
license = BSD
8-
license_files = LICENSE
9-
url = https://github.com/codingjoe/joeflow
10-
# Find more classifiers here:
11-
# https://pypi.org/pypi?%3Aaction=list_classifiers
12-
classifier =
13-
Development Status :: 5 - Production/Stable
14-
Framework :: Django
15-
Framework :: Django :: 2.2
16-
Framework :: Django :: 3.2
17-
Framework :: Django :: 4.0
18-
Environment :: Web Environment
19-
License :: OSI Approved :: BSD License
20-
Operating System :: OS Independent
21-
Programming Language :: Python :: 3
22-
Programming Language :: Python :: 3.8
23-
Programming Language :: Python :: 3.9
24-
Programming Language :: Python :: 3.10
25-
Programming Language :: Python :: 3.11
26-
Programming Language :: Python :: 3 :: Only
27-
Topic :: Home Automation
28-
Topic :: Internet
29-
Topic :: Office/Business
30-
Topic :: Office/Business :: Financial
31-
Topic :: Office/Business :: Financial :: Accounting
32-
Topic :: Office/Business :: Financial :: Investment
33-
Topic :: Office/Business :: Financial :: Point-Of-Sale
34-
Topic :: Office/Business :: Scheduling
35-
Topic :: Software Development
36-
keywords =
37-
django
38-
process
39-
automation
40-
workflow
41-
framework
42-
task
43-
44-
[options]
45-
python_requires = >=3.8
46-
include_package_data = True
47-
packages = joeflow
48-
install_requires =
49-
django>=2.2
50-
django-appconf
51-
graphviz>=0.18
52-
setup_requires =
53-
setuptools_scm
54-
sphinx
55-
pytest-runner
56-
tests_require =
57-
pytest
58-
pytest-cov
59-
pytest-django
60-
pytest-env
61-
redis
62-
63-
[options.extras_require]
64-
test =
65-
pytest
66-
pytest-cov
67-
pytest-django
68-
pytest-env
69-
redis
70-
docs =
71-
celery>=4.2.0
72-
django-reversion
73-
dramatiq
74-
django_dramatiq
75-
redis
76-
reversion =
77-
django-reversion
78-
celery =
79-
celery>=4.2.0
80-
dramatiq =
81-
dramatiq<=1.12.0
82-
django_dramatiq
83-
84-
[bdist_wheel]
85-
universal = 1
86-
87-
[aliases]
88-
test = pytest
89-
901
[build_sphinx]
912
source-dir = docs
923
build-dir = docs/_build
934
project = joeflow
945
copyright = 2018, Johannes Maron
956

96-
[tool:pytest]
97-
addopts =
98-
tests
99-
--doctest-modules
100-
--cov=joeflow
101-
DJANGO_SETTINGS_MODULE = tests.testapp.settings
102-
norecursedirs = tests/testapp
103-
env =
104-
D:DRAMATIQ_BROKER = dramatiq.brokers.stub.StubBroker
105-
106-
[coverage:report]
107-
show_missing = true
108-
109-
[pydocstyle]
110-
add_ignore = D1
111-
match_dir = (?!tests|env|docs|\.).*
112-
match = (?!setup).*.py
113-
1147
[flake8]
1158
max-line-length=88
1169
select = C,E,F,W,B,B950
11710
ignore = E203, E501, W503, E731
118-
119-
[isort]
120-
atomic = true
121-
line_length = 88
122-
known_first_party = joeflow, tests
123-
include_trailing_comma = True
124-
default_section=THIRDPARTY
125-
combine_as_imports = true

setup.py

-4
This file was deleted.

0 commit comments

Comments
 (0)