File: setup.py

package info (click to toggle)
python-transitions 0.9.2-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 2,728 kB
  • sloc: python: 8,765; makefile: 10; sh: 7
file content (63 lines) | stat: -rw-r--r-- 2,130 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
import codecs
import sys
from setuptools import setup, find_packages

with open("transitions/version.py") as f:
    exec(f.read())

with codecs.open("README.md", "r", "utf-8") as f:
    import re

    # cut the badges from the description and also the TOC which is currently not working on PyPi
    regex = r"([\s\S]*)## Quickstart"
    readme = f.read()

    long_description = re.sub(regex, "## Quickstart", readme, 1)
    assert (
        long_description[:13] == "## Quickstart"
    )  # Description should start with a headline (## Quickstart)

tests_require = ["mock", "tox", "graphviz", "pygraphviz"]

extras_require = {"diagrams": ["pygraphviz"]}

extra_setuptools_args = {}
if "setuptools" in sys.modules:
    extras_require["test"] = ["pytest"]
    tests_require.append("pytest")

setup(
    name="transitions",
    version=__version__,
    description="A lightweight, object-oriented Python state machine implementation with many extensions.",
    long_description=long_description,
    long_description_content_type="text/markdown",
    author="Tal Yarkoni",
    author_email="tyarkoni@gmail.com",
    maintainer="Alexander Neumann",
    maintainer_email="aleneum@gmail.com",
    url="http://github.com/pytransitions/transitions",
    packages=find_packages(exclude=["tests", "test_*"]),
    package_data={
        "transitions": ["py.typed", "data/*"],
        "transitions.tests": ["data/*"],
    },
    include_package_data=True,
    extras_require=extras_require,
    tests_require=tests_require,
    license="MIT",
    download_url="https://github.com/pytransitions/transitions/archive/%s.tar.gz"
    % __version__,
    classifiers=[
        "License :: OSI Approved :: MIT License",
        "Programming Language :: Python :: 2",
        "Programming Language :: Python :: 2.7",
        "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.12",
    ],
    **extra_setuptools_args,
)