Skip to content

Commit

Permalink
[draft] Attempt to move to pyproject.toml
Browse files Browse the repository at this point in the history
  • Loading branch information
amureki authored and codingjoe committed Oct 28, 2022
1 parent 2a51e3d commit 4bb0de9
Show file tree
Hide file tree
Showing 6 changed files with 125 additions and 120 deletions.
2 changes: 1 addition & 1 deletion .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ max_line_length = 88
[*.py]
max_line_length = 120

[*.{yml, html, xml, xsl, json}]
[*.{yml, html, xml, xsl, json, toml}]
indent_size = 2

[*.{css, less}]
Expand Down
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -102,3 +102,6 @@ venv.bak/

# mypy
.mypy_cache/

# flit
joeflow/_version.py
5 changes: 5 additions & 0 deletions joeflow/__init__.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
"""The lean workflow automation framework for machines with heart."""
import django

from . import _version

__version__ = _version.version
VERSION = _version.version_tuple

if django.VERSION < (3, 2):
default_app_config = "joeflow.apps.JoeflowConfig"
116 changes: 116 additions & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,116 @@
[build-system]
requires = ["flit_core>=3.2", "flit_scm", "wheel"]
build-backend = "flit_scm:buildapi"

[project]
name = "joeflow"
authors = [
{ name = "Johannes Maron", email = "johannes@maron.family" }
]
readme = "README.rst"
license = { file = "LICENSE" }
dynamic = ["version", "description"]
classifiers = [
"Development Status :: 5 - Production/Stable",
"Environment :: Web Environment",
"Intended Audience :: Developers",
"License :: OSI Approved :: BSD License",
"Operating System :: OS Independent",
"Programming Language :: JavaScript",
"Programming Language :: Python",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3 :: Only",
"Framework :: Django",
"Framework :: Django :: 2.2",
"Framework :: Django :: 3.2",
"Framework :: Django :: 4.0",
"Topic :: Software Development",
"Topic :: Home Automation",
"Topic :: Internet",
"Topic :: Office/Business",
"Topic :: Office/Business :: Financial",
"Topic :: Office/Business :: Financial :: Accounting",
"Topic :: Office/Business :: Financial :: Investment",
"Topic :: Office/Business :: Financial :: Point-Of-Sale",
"Topic :: Office/Business :: Scheduling",
"Topic :: Software Development",
]
keywords = [
"django",
"process",
"automation",
"workflow",
"framework",
"task",
]
requires-python = ">=3.8"
dependencies = [
"django>=2.2",
"django-appconf",
"graphviz>=0.18",
]

[project.optional-dependencies]
test = [
"pytest",
"pytest-cov",
"pytest-django",
"pytest-env",
"redis",
]
docs = [
"celery>=4.2.0",
"django-reversion",
"dramatiq",
"django_dramatiq",
"redis",
]
reversion = [
"django-reversion",
]
celery = [
"celery>=4.2.0",
]
dramatiq = [
"dramatiq<=1.12.0",
"django_dramatiq",
]

[project.urls]
Project-URL = "https://github.com/codingjoe/joeflow"

[tool.flit.module]
name = "joeflow"

[tool.setuptools_scm]
write_to = "joeflow/_version.py"

[tool.pytest.ini_options]
minversion = "6.0"
addopts = "--cov=joeflow --doctest-modules"
testpaths = [
"tests",
]
norecursedirs = "tests/testapp"
DJANGO_SETTINGS_MODULE = "tests.testapp.settings"
env = "D:DRAMATIQ_BROKER = dramatiq.brokers.stub.StubBroker"

[tool.coverage.report]
show_missing = true

[tool.isort]
atomic = true
line_length = 88
known_first_party = "joeflow, tests"
include_trailing_comma = true
default_section = "THIRDPARTY"
combine_as_imports = true

[tool.pydocstyle]
add_ignore = "D1"
match_dir = "(?!tests|env|docs|\\.).*"
match = "(?!setup).*.py"
115 changes: 0 additions & 115 deletions setup.cfg
Original file line number Diff line number Diff line change
@@ -1,125 +1,10 @@
[metadata]
name = joeflow
author = Johannes Maron
author_email = johannes@maron.family
description = The lean workflow automation framework for machines with heart
long_description = file: README.rst
license = BSD
license_files = LICENSE
url = https://github.com/codingjoe/joeflow
# Find more classifiers here:
# https://pypi.org/pypi?%3Aaction=list_classifiers
classifier =
Development Status :: 5 - Production/Stable
Framework :: Django
Framework :: Django :: 2.2
Framework :: Django :: 3.2
Framework :: Django :: 4.0
Environment :: Web Environment
License :: OSI Approved :: BSD License
Operating System :: OS Independent
Programming Language :: Python :: 3
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
Programming Language :: Python :: 3.11
Programming Language :: Python :: 3 :: Only
Topic :: Home Automation
Topic :: Internet
Topic :: Office/Business
Topic :: Office/Business :: Financial
Topic :: Office/Business :: Financial :: Accounting
Topic :: Office/Business :: Financial :: Investment
Topic :: Office/Business :: Financial :: Point-Of-Sale
Topic :: Office/Business :: Scheduling
Topic :: Software Development
keywords =
django
process
automation
workflow
framework
task

[options]
python_requires = >=3.8
include_package_data = True
packages = joeflow
install_requires =
django>=2.2
django-appconf
graphviz>=0.18
setup_requires =
setuptools_scm
sphinx
pytest-runner
tests_require =
pytest
pytest-cov
pytest-django
pytest-env
redis

[options.extras_require]
test =
pytest
pytest-cov
pytest-django
pytest-env
redis
docs =
celery>=4.2.0
django-reversion
dramatiq
django_dramatiq
redis
reversion =
django-reversion
celery =
celery>=4.2.0
dramatiq =
dramatiq<=1.12.0
django_dramatiq

[bdist_wheel]
universal = 1

[aliases]
test = pytest

[build_sphinx]
source-dir = docs
build-dir = docs/_build
project = joeflow
copyright = 2018, Johannes Maron

[tool:pytest]
addopts =
tests
--doctest-modules
--cov=joeflow
DJANGO_SETTINGS_MODULE = tests.testapp.settings
norecursedirs = tests/testapp
env =
D:DRAMATIQ_BROKER = dramatiq.brokers.stub.StubBroker

[coverage:report]
show_missing = true

[pydocstyle]
add_ignore = D1
match_dir = (?!tests|env|docs|\.).*
match = (?!setup).*.py

[flake8]
max-line-length=88
select = C,E,F,W,B,B950
ignore = E203, E501, W503, E731

[isort]
atomic = true
line_length = 88
known_first_party = joeflow, tests
include_trailing_comma = True
default_section=THIRDPARTY
combine_as_imports = true
4 changes: 0 additions & 4 deletions setup.py

This file was deleted.

0 comments on commit 4bb0de9

Please sign in to comment.