Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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: 2 additions & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ jobs:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
with:
python-version: "3.10"
python-version: "3.x"
- run: sudo apt install -y python3-enchant graphviz
- run: python -m pip install sphinxcontrib-spelling
- run: python -m pip install -e '.[docs]'
Expand Down Expand Up @@ -62,6 +62,7 @@ jobs:
- "3.8"
- "3.9"
- "3.10"
- "3.11"
django-version:
- "3.2"
- "4.0"
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
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

### M.U.S.T

This package follows a couple of MUST have design principles.
This package follows a couple of MUST-have design principles.

##### Maintainable

Expand Down
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
BSD 3-Clause License

Copyright (c) 2018, Johannes Hoppe
Copyright (c) 2018, Johannes Maron
All rights reserved.

Redistribution and use in source and binary forms, with or without
Expand Down
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 = "[email protected]" }
]
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"
114 changes: 0 additions & 114 deletions setup.cfg
Original file line number Diff line number Diff line change
@@ -1,124 +1,10 @@
[metadata]
name = joeflow
author = Johannes Maron
author_email = [email protected]
description = The lean workflow automation framework for machines with heart
long_description = file: README.rst
license = BSD
license_file = 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 :: 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.