{ "info": { "author": "uberspace.de", "author_email": "hallo@uberspace.de", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "Intended Audience :: Information Technology", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Operating System :: POSIX :: Linux", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Topic :: Office/Business :: Financial" ], "description": "libestg3b\n#########\n\n.. image:: https://travis-ci.com/Uberspace/libestg3b.svg?branch=master\n :target: https://travis-ci.com/Uberspace/libestg3b\n :alt: CI Status\n\n.. image:: https://readthedocs.org/projects/libestg3b/badge/?version=latest\n :target: https://libestg3b.readthedocs.io/en/latest/?badge=latest\n :alt: Documentation Status\n\n.. image:: https://codecov.io/gh/Uberspace/libestg3b/branch/master/graph/badge.svg\n :target: https://codecov.io/gh/Uberspace/libestg3b\n :alt: test coverage\n\n.. image:: https://img.shields.io/pypi/v/libestg3b.svg\n :target: https://pypi.python.org/pypi/libestg3b\n :alt: PyPI\n\n\u00a7 3b of the German Einkommensteuergesetz (EStG) defines the premiums for work on\nweekends, holidays and special days, like new year. This library takes a list of\nwork hours / shifts (e.g. on 2018-06-03 from 19:00 until 03:00) and returns the\npremium factor (e.g. 1.5) as well as the relevant time-spans.\n\nAs noted in the license, this software is provided without any warranty or\nguarantee for correctness.\n\n\u00a7 3b des Deutschen Einkommensteuergesetzes (EStG) definiert die H\u00f6he der\nsteuerfreien Zuschl\u00e4ge f\u00fcr Arbeit in der Nacht, an Sonntagen, Feiertagen sowie\nbesonderen Tagen wie Neujahr. Diese Library errechnet aus einer Liste von\nArbeitszeiten die H\u00f6he der maximalen Zuschl\u00e4ge.\n\nDiese Software wird, wie in der Lizenz angegeben, ohne Gew\u00e4hr und Garantie\nauf Richtigkeit bereitgestellt.\n\nInstallation\n------------\n\nInstall libestg3b via pip:\n\n.. code-block:: console\n\n $ pip install libestg3b\n\nUsage\n-----\n\n.. code-block:: pycon\n\n >>> import datetime as DT\n >>> from libestg3b import EStG3b\n >>> e = EStG3b('DE')()\n >>> e.calculate_shift([datetime(2018, 9, 16, 20), datetime(2018, 9, 17, 2)])\n [\n Match(\n start=datetime.datetime(2018, 9, 16, 19, 0),\n end=datetime.datetime(2018, 9, 16, 20, 0),\n rules={}\n ),\n Match(\n start=datetime.datetime(2018, 9, 16, 20, 0),\n end=datetime.datetime(2018, 9, 17, 0, 0),\n rules={, }\n ),\n Match(\n start=datetime.datetime(2018, 9, 17, 0, 0),\n end=datetime.datetime(2018, 9, 17, 2, 0),\n rules={, }\n ),\n ]\n\nDevelopment\n-----------\n\nSetup\n^^^^^\n\nUsing python 3.6, do the following:\n\n.. code-block:: console\n\n $ virtualenv venv --python=python3.6\n $ pip install -e \".[dev]\"\n\nUsual Tasks\n^^^^^^^^^^^\n\n* ``make test``: run tests (use ``tox`` or ``py.test`` directly to supply flags like ``-k``)\n* ``make lint``: run pylava and friends\n* ``make fixlint``: sort imports correctly\n\nReleasing a new version\n^^^^^^^^^^^^^^^^^^^^^^^\n\nAssuming you have been handed the required credentials, a new version\ncan be released as follows.\n\n1. adapt the version in ``setup.py``, according to `semver`_.\n2. commit this change as ``Version 1.2.3``\n3. tag the resulting commit as ``v1.2.3``\n4. push the new tag as well as the ``master`` branch\n5. update the package on PyPI:\n\n.. code-block:: console\n\n $ rm dist/*\n $ python setup.py sdist bdist_wheel\n $ twine upload dist/*\n\nPrerequisites\n-------------\n\nThis library is currently python 3.6+. If you would like to use this library\nwith a lower python version, please open an issue. We're happy to change things\naround.\n\nVersioning\n----------\n\nNew version numbers are assigned following `semver`_. All\n0.x.y versions are tested and usable, but do not have a stable public interface.\n\nA version 1.0 will be released, once we deem the library stable.\n\nLicense\n-------\n\nAll code in this repository is licensed under the MIT license.\n\n.. _semver: http://semver.org/\n\n\n", "description_content_type": "text/x-rst", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/uberspace/libestg3b", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "libestg3b", "package_url": "https://pypi.org/project/libestg3b/", "platform": "", "project_url": "https://pypi.org/project/libestg3b/", "project_urls": { "Homepage": "https://github.com/uberspace/libestg3b" }, "release_url": "https://pypi.org/project/libestg3b/0.0.4/", "requires_dist": [ "holidays", "pytz", "python-dateutil", "dataclasses", "pylava (==0.2.*); extra == 'dev'", "isort (==4.3.*); extra == 'dev'", "pytest (==3.8.*); extra == 'dev'", "pytest-cov; extra == 'dev'", "tox; extra == 'dev'", "codecov; extra == 'dev'", "twine; extra == 'dev'", "sphinx; extra == 'dev'", "sphinx-autobuild; extra == 'dev'", "sphinx-autodoc-typehints; extra == 'dev'", "sphinx-rtd-theme; extra == 'dev'" ], "requires_python": "", "summary": "", "version": "0.0.4" }, "last_serial": 4339912, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "3097b17351574d5123b6fb65aed20de1", "sha256": "8af214093a1f7082f99c83a37cfb0d1b23b823dcbe29ab5cda53b5c2cab7f7ca" }, "downloads": -1, "filename": "libestg3b-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "3097b17351574d5123b6fb65aed20de1", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4412, "upload_time": "2018-09-18T12:18:24", "url": "https://files.pythonhosted.org/packages/87/5b/08c95e32e07ef25981877f5ea2ca08feaa183a260773fe6f1f9ffaf82264/libestg3b-0.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2d8f5d693695d459babbef109c9eb8c9", "sha256": "b1527a556a8c31517e9297c4d91d988eb4ab249dc55edc99b8c3bb21bbfe51c8" }, "downloads": -1, "filename": "libestg3b-0.0.1.tar.gz", "has_sig": false, "md5_digest": "2d8f5d693695d459babbef109c9eb8c9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5397, "upload_time": "2018-09-18T12:18:25", "url": "https://files.pythonhosted.org/packages/65/26/879bf463f83836f45690d21950bd33d242cc839e499597b3adb2a80a0abe/libestg3b-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "167d4ec7f000ecddc4a735b0b3565d69", "sha256": "a4351c6287de5019703e41ce37351edad5e7d82521221d40899cda35e3187328" }, "downloads": -1, "filename": "libestg3b-0.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "167d4ec7f000ecddc4a735b0b3565d69", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5524, "upload_time": "2018-09-18T12:23:36", "url": "https://files.pythonhosted.org/packages/8d/7b/917840828956338defc85f0689a26d21b984062ff5680dd1ed6cfbafe86f/libestg3b-0.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8844988bf7874ea38fd12403c93a8189", "sha256": "93bb5ec3edbc9b7d7b94106b4aa5408300d3e30b94b533d069b421ef9eb715a4" }, "downloads": -1, "filename": "libestg3b-0.0.2.tar.gz", "has_sig": false, "md5_digest": "8844988bf7874ea38fd12403c93a8189", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5994, "upload_time": "2018-09-18T12:23:37", "url": "https://files.pythonhosted.org/packages/9a/9b/a7c5b1494f19fe9dcb418c1a6ba143511bced61a6ffd64b2494c9e8001a4/libestg3b-0.0.2.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "84215d7813669ce79ba6ca476dc7b1a5", "sha256": "757697870c69668c9509b208bf1625e5345dc76f2f173aa914728d30a574abc3" }, "downloads": -1, "filename": "libestg3b-0.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "84215d7813669ce79ba6ca476dc7b1a5", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 12137, "upload_time": "2018-10-04T11:35:41", "url": "https://files.pythonhosted.org/packages/7e/e5/563c28e137191b78d935f5c4a6105ef33da4dbc8be19b0c4e4e979971ed5/libestg3b-0.0.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b900e43e4992263230c1df918c7e2243", "sha256": "7ba3458bc7f45616f9f5e9dd679fde80370e3b2c67fda7ca3d00b53e8ff437e5" }, "downloads": -1, "filename": "libestg3b-0.0.4.tar.gz", "has_sig": false, "md5_digest": "b900e43e4992263230c1df918c7e2243", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14563, "upload_time": "2018-10-04T11:35:42", "url": "https://files.pythonhosted.org/packages/95/2b/75bb829b6fc0ca75da04009e1c44a5f1157143ff05984ff256505e325f5f/libestg3b-0.0.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "84215d7813669ce79ba6ca476dc7b1a5", "sha256": "757697870c69668c9509b208bf1625e5345dc76f2f173aa914728d30a574abc3" }, "downloads": -1, "filename": "libestg3b-0.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "84215d7813669ce79ba6ca476dc7b1a5", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 12137, "upload_time": "2018-10-04T11:35:41", "url": "https://files.pythonhosted.org/packages/7e/e5/563c28e137191b78d935f5c4a6105ef33da4dbc8be19b0c4e4e979971ed5/libestg3b-0.0.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b900e43e4992263230c1df918c7e2243", "sha256": "7ba3458bc7f45616f9f5e9dd679fde80370e3b2c67fda7ca3d00b53e8ff437e5" }, "downloads": -1, "filename": "libestg3b-0.0.4.tar.gz", "has_sig": false, "md5_digest": "b900e43e4992263230c1df918c7e2243", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14563, "upload_time": "2018-10-04T11:35:42", "url": "https://files.pythonhosted.org/packages/95/2b/75bb829b6fc0ca75da04009e1c44a5f1157143ff05984ff256505e325f5f/libestg3b-0.0.4.tar.gz" } ] }