[project] authors = [{ name = 'Rick van Hattem (Wolph)', email = 'wolph@wol.ph' }] dynamic = ['version'] keywords = [ 'REPL', 'animated', 'bar', 'color', 'console', 'duration', 'efficient', 'elapsed', 'eta', 'feedback', 'live', 'meter', 'monitor', 'monitoring', 'multi-threaded', 'progress', 'progress-bar', 'progressbar', 'progressmeter', 'python', 'rate', 'simple', 'speed', 'spinner', 'stats', 'terminal', 'throughput', 'time', 'visual', ] license = { text = 'BSD-3-Clause' } name = 'progressbar2' requires-python = '>=3.8' classifiers = [ 'Development Status :: 5 - Production/Stable', 'Development Status :: 6 - Mature', 'Environment :: Console', 'Environment :: MacOS X', 'Environment :: Other Environment', 'Environment :: Win32 (MS Windows)', 'Environment :: X11 Applications', 'Framework :: IPython', 'Framework :: Jupyter', 'Intended Audience :: Developers', 'Intended Audience :: Education', 'Intended Audience :: End Users/Desktop', 'Intended Audience :: Other Audience', 'Intended Audience :: System Administrators', 'License :: OSI Approved :: BSD License', 'Natural Language :: English', 'Operating System :: MacOS :: MacOS X', 'Operating System :: MacOS', 'Operating System :: Microsoft :: MS-DOS', 'Operating System :: Microsoft :: Windows', 'Operating System :: Microsoft', 'Operating System :: POSIX :: BSD :: FreeBSD', 'Operating System :: POSIX :: BSD', 'Operating System :: POSIX :: Linux', 'Operating System :: POSIX :: SunOS/Solaris', 'Operating System :: POSIX', 'Operating System :: Unix', 'Programming Language :: Python :: 3 :: Only', 'Programming Language :: Python :: 3', 'Programming Language :: Python :: 3.10', 'Programming Language :: Python :: 3.11', 'Programming Language :: Python :: 3.12', 'Programming Language :: Python :: 3.8', 'Programming Language :: Python :: 3.9', 'Programming Language :: Python :: Implementation :: IronPython', 'Programming Language :: Python :: Implementation :: PyPy', 'Programming Language :: Python :: Implementation', 'Programming Language :: Python', 'Programming Language :: Unix Shell', 'Topic :: Desktop Environment', 'Topic :: Education :: Computer Aided Instruction (CAI)', 'Topic :: Education :: Testing', 'Topic :: Office/Business', 'Topic :: Other/Nonlisted Topic', 'Topic :: Software Development :: Build Tools', 'Topic :: Software Development :: Libraries :: Python Modules', 'Topic :: Software Development :: Libraries', 'Topic :: Software Development :: Pre-processors', 'Topic :: Software Development :: User Interfaces', 'Topic :: System :: Installation/Setup', 'Topic :: System :: Logging', 'Topic :: System :: Monitoring', 'Topic :: System :: Shells', 'Topic :: Terminals', 'Topic :: Utilities', ] description = 'A Python Progressbar library to provide visual (yet text based) progress to long running operations.' readme = 'README.rst' dependencies = ['python-utils >= 3.8.1'] [tool.setuptools.dynamic] version = { attr = 'progressbar.__about__.__version__' } [tool.setuptools.packages.find] exclude = ['docs*', 'tests*'] [tool.setuptools] include-package-data = true [project.scripts] progressbar = 'progressbar.__main__:main' [project.optional-dependencies] docs = ['sphinx>=1.8.5', 'sphinx-autodoc-typehints>=1.6.0'] tests = [ 'dill>=0.3.6', 'flake8>=3.7.7', 'freezegun>=0.3.11', 'pytest-cov>=2.6.1', 'pytest-mypy', 'pytest>=4.6.9', 'sphinx>=1.8.5', 'pywin32; sys_platform == "win32"', ] [project.urls] bugs = 'https://github.com/wolph/python-progressbar/issues' documentation = 'https://progressbar-2.readthedocs.io/en/latest/' repository = 'https://github.com/wolph/python-progressbar/' [build-system] build-backend = 'setuptools.build_meta' requires = ['setuptools', 'setuptools-scm'] [tool.codespell] skip = '*/htmlcov,./docs/_build,*.asc' ignore-words-list = 'datas,numbert' [tool.black] line-length = 79 skip-string-normalization = true [tool.mypy] packages = ['progressbar', 'tests'] exclude = [ '^docs$', '^tests/original_examples.py$', '^examples.py$', ] [tool.coverage.run] branch = true source = [ 'progressbar', 'tests', ] omit = [ '*/mock/*', '*/nose/*', '.tox/*', '*/os_specific/*', ] [tool.coverage.paths] source = [ 'progressbar', ] [tool.coverage.report] fail_under = 100 exclude_lines = [ 'pragma: no cover', '@abc.abstractmethod', 'def __repr__', 'if self.debug:', 'if settings.DEBUG', 'raise AssertionError', 'raise NotImplementedError', 'if 0:', 'if __name__ == .__main__.:', 'if types.TYPE_CHECKING:', '@typing.overload', 'if os.name == .nt.:', 'typing.Protocol', ] [tool.pyright] include= ['progressbar'] exclude= ['examples', '.tox'] ignore= ['docs'] strict = [ 'progressbar/algorithms.py', 'progressbar/env.py', # 'progressbar/shortcuts.py', 'progressbar/multi.py', 'progressbar/__init__.py', 'progressbar/terminal/__init__.py', 'progressbar/terminal/stream.py', 'progressbar/terminal/os_specific/__init__.py', # 'progressbar/terminal/os_specific/posix.py', # 'progressbar/terminal/os_specific/windows.py', 'progressbar/terminal/base.py', 'progressbar/terminal/colors.py', # 'progressbar/widgets.py', # 'progressbar/utils.py', 'progressbar/__about__.py', # 'progressbar/bar.py', 'progressbar/__main__.py', 'progressbar/base.py', ] reportIncompatibleMethodOverride = false reportUnnecessaryIsInstance = false reportUnnecessaryCast = false reportUnnecessaryTypeAssertion = false reportUnnecessaryComparison = false reportUnnecessaryContains = false