{ "info": { "author": "sonntagsgesicht, based on a fork of Deutsche Postbank [pbrisk]", "author_email": "sonntagsgesicht@icloud.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "Intended Audience :: Education", "Intended Audience :: Financial and Insurance Industry", "License :: OSI Approved :: Apache Software License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Topic :: Education", "Topic :: Office/Business", "Topic :: Office/Business :: Financial", "Topic :: Office/Business :: Scheduling", "Topic :: Scientific/Engineering", "Topic :: Scientific/Engineering :: Mathematics", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: Utilities" ], "description": "\n\nPython library *businessdate*\n-----------------------------\n\n.. image:: https://img.shields.io/codeship/43157680-92f7-0137-34fd-0e3da511fc50/master.svg\n :target: https://codeship.com//projects/356697\n :alt: Codeship\n\n.. image:: https://travis-ci.org/sonntagsgesicht/businessdate.svg?branch=master\n :target: https://travis-ci.org/sonntagsgesicht/businessdate\n :alt: Travis ci\n\n.. image:: https://img.shields.io/readthedocs/businessdate\n :target: http://businessdate.readthedocs.io\n :alt: Read the Docs\n\n.. image:: https://img.shields.io/codefactor/grade/github/sonntagsgesicht/businessdate/master\n :target: https://www.codefactor.io/repository/github/sonntagsgesicht/businessdate\n :alt: CodeFactor Grade\n\n.. image:: https://img.shields.io/codeclimate/maintainability/sonntagsgesicht/businessdate\n :target: https://codeclimate.com/github/sonntagsgesicht/businessdate/maintainability\n :alt: Code Climate maintainability\n\n.. image:: https://img.shields.io/codecov/c/github/sonntagsgesicht/businessdate\n :target: https://codecov.io/gh/sonntagsgesicht/businessdate\n :alt: Codecov\n\n.. image:: https://img.shields.io/lgtm/grade/python/g/sonntagsgesicht/businessdate.svg\n :target: https://lgtm.com/projects/g/sonntagsgesicht/businessdate/context:python/\n :alt: lgtm grade\n\n.. image:: https://img.shields.io/lgtm/alerts/g/sonntagsgesicht/businessdate.svg\n :target: https://lgtm.com/projects/g/sonntagsgesicht/businessdate/alerts/\n :alt: total lgtm alerts\n\n.. image:: https://img.shields.io/github/license/sonntagsgesicht/businessdate\n :target: https://github.com/sonntagsgesicht/businessdate/raw/master/LICENSE\n :alt: GitHub\n\n.. image:: https://img.shields.io/github/release/sonntagsgesicht/businessdate?label=github\n :target: https://github.com/sonntagsgesicht/businessdate/releases\n :alt: GitHub release\n\n.. image:: https://img.shields.io/pypi/v/businessdate\n :target: https://pypi.org/project/businessdate/\n :alt: PyPI Version\n\n.. image:: https://img.shields.io/pypi/pyversions/businessdate\n :target: https://pypi.org/project/businessdate/\n :alt: PyPI - Python Version\n\n.. image:: https://img.shields.io/pypi/dm/businessdate\n :target: https://pypi.org/project/businessdate/\n :alt: PyPI Downloads\n\nA fast, efficient Python library for generating `business dates` for simple and fast date operations.\n\n.. code-block::\n\n >>> from businessdate import BusinessDate\n\n >>> BusinessDate(2017,12,31) + '2 weeks'\n BusinessDate(20180114)\n\n >>> BusinessDate(20171231) + '2w' # same but shorter\n BusinessDate(20180114)\n\n >>> BusinessDate(20180114).to_date()\n datetime.date(2018, 1, 14)\n\nTypical banking business features are provided like `holiday adjustments`\nto move dates away from weekend days or `holidays`. As well as functionality to get\n`year fractions` depending on `day count conventions` as the lengths of interest payment periods.\n\nBeside dates `business periods` can be created for time intervals like **10Y**, **3 Months** or **2b**.\nThose periods can easily be added to or subtracted from business dates.\n\nMoreover `range` style `schedule generator`\nare provided to systematic build a list of dates.\nSuch are used to set up a payment schedule of loan and financial derivatives.\n\n\nExample Usage\n-------------\n\n.. paste this into python console to generate code block contents\n from datetime import date\n from businessdate import BusinessDate, BusinessPeriod\n BusinessDate(year=2014, month=1, day=11)\n BusinessDate(date(2014,1,11))\n BusinessDate(20140111)\n BusinessDate('20140111')\n BusinessDate('2015-12-31')\n BusinessDate('31.12.2015')\n BusinessDate('12/31/2015')\n BusinessDate(42369)\n BusinessDate(20140101) + BusinessPeriod('1Y3M')\n BusinessDate(20140101) + '1Y3M'\n BusinessDate(20170101) - '1Y1D'\n BusinessDate() == BusinessDate(date.today())\n BusinessDate('1Y3M20140101')\n\n.. code-block::\n\n >>> from datetime import date\n >>> from businessdate import BusinessDate, BusinessPeriod\n\n\n >>> BusinessDate(year=2014, month=1, day=11)\n BusinessDate(20140111)\n\n >>> BusinessDate(date(2014,1,11))\n BusinessDate(20140111)\n\n >>> BusinessDate(20140111)\n BusinessDate(20140111)\n\n >>> BusinessDate('20140111')\n BusinessDate(20140111)\n\n >>> BusinessDate('2015-12-31')\n BusinessDate(20151231)\n\n >>> BusinessDate('31.12.2015')\n BusinessDate(20151231)\n\n >>> BusinessDate('12/31/2015')\n BusinessDate(20151231)\n\n >>> BusinessDate(42369)\n BusinessDate(20151231)\n\n >>> BusinessDate(20140101) + BusinessPeriod('1Y3M')\n BusinessDate(20150401)\n\n >>> BusinessDate(20140101) + '1Y3M'\n BusinessDate(20150401)\n\n >>> BusinessDate(20170101) - '1Y1D'\n BusinessDate(20151231)\n\n >>> BusinessDate() == BusinessDate(date.today())\n True\n\n >>> BusinessDate('1Y3M20140101')\n BusinessDate(20150401)\n\nFor more examples see the `documentation `_.\n\nInstall\n-------\n\nThe latest stable version can always be installed or updated via pip:\n\n.. code-block:: bash\n\n $ pip install businessdate\n\n\n\nDevelopment Version\n-------------------\n\nThe latest development version can be installed directly from GitHub:\n\n.. code-block:: bash\n\n $ pip install --upgrade git+https://github.com/sonntagsgesicht/businessdate.git\n\nor downloaded from ``_.\n\n\n\nToDo\n----\n\n1. decide which base class or inheritance for `BusisnessDate` is better:\n\n a) `BaseDateFloat` (`float` inheritance)\n\n b) `BaseDateDatetimeDate` (`datetime.date` inheritance)\n\n2. store businessdays adjustment convention and holidays as private property of `BusinessDate`.\nThe information should not get lost under `BusinessPeriod` operation.\nDecide which date determines convention and holidays of a `BusinessRange`.\n\n\nContributions\n-------------\n\n.. _issues: https://github.com/pbrisk/businessdate/issues\n\nIssues_ and `Pull Requests `_ are always welcome.\n\n\nLicense\n-------\n\n.. __: https://github.com/sonntagsgesicht/businessdate/raw/master/LICENSE\n\nCode and documentation are available according to the Apache Software License (see LICENSE__).\n\n\n", "description_content_type": "", "docs_url": "https://pythonhosted.org/businessdate/", "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/sonntagsgesicht/businessdate", "keywords": "", "license": "Apache License 2.0", "maintainer": "", "maintainer_email": "", "name": "businessdate", "package_url": "https://pypi.org/project/businessdate/", "platform": "any", "project_url": "https://pypi.org/project/businessdate/", "project_urls": { "Homepage": "https://github.com/sonntagsgesicht/businessdate" }, "release_url": "https://pypi.org/project/businessdate/0.5/", "requires_dist": null, "requires_python": "", "summary": "Python library for generating business dates for fast date operations and rich functionality.", "version": "0.5" }, "last_serial": 5849863, "releases": { "0.2": [ { "comment_text": "", "digests": { "md5": "ac798b845d497eb558f30c1a3de1a0f5", "sha256": "596a10ad179e83ccb5e5efa75e7d12f9b229de76ec74dc252c55b3bb4fac7d83" }, "downloads": -1, "filename": "businessdate-0.2-py2-none-any.whl", "has_sig": false, "md5_digest": "ac798b845d497eb558f30c1a3de1a0f5", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 15941, "upload_time": "2017-04-04T15:26:59", "url": "https://files.pythonhosted.org/packages/1c/b6/f9fd10dd7e6bff448e7b7d46c968640bd8047196674e21b37a50b00a49ed/businessdate-0.2-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e0eb5887390d41d1f41916faf08bf6a1", "sha256": "b3a9e449c2126ff1b22cb1b703cb5bfe79b8a5f61468e0ce6069eee13d8603c7" }, "downloads": -1, "filename": "businessdate-0.2.tar.gz", "has_sig": false, "md5_digest": "e0eb5887390d41d1f41916faf08bf6a1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19045, "upload_time": "2017-04-04T15:26:28", "url": "https://files.pythonhosted.org/packages/9e/e1/1d828264a067471e0da5bd19c1bbc7feb177c3c3843c6a77f77080eb3fdc/businessdate-0.2.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "043edcf13aa80859d2125694d81d52ef", "sha256": "e29ae0c8b426185e21627ef447da0ce6effeabeafded35766ae6ffc2d7305140" }, "downloads": -1, "filename": "businessdate-0.3-py2-none-any.whl", "has_sig": false, "md5_digest": "043edcf13aa80859d2125694d81d52ef", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 17471, "upload_time": "2017-07-07T22:00:50", "url": "https://files.pythonhosted.org/packages/47/1a/05e87165a8fa422619c2d8a317e135fefe0781264d311e6c99b78aa7163a/businessdate-0.3-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2e517c08cb599d21f7019058d2513b54", "sha256": "de8e546eafa1f738e3b75ac76a2bb5fd6bcd383e31afa2bc611ed4cb4024128d" }, "downloads": -1, "filename": "businessdate-0.3.tar.gz", "has_sig": false, "md5_digest": "2e517c08cb599d21f7019058d2513b54", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21200, "upload_time": "2017-07-07T22:00:53", "url": "https://files.pythonhosted.org/packages/eb/54/30615f74339ea9fd44e745cc3645c8b4f993f0071565fb53c37f704065ca/businessdate-0.3.tar.gz" } ], "0.4": [ { "comment_text": "", "digests": { "md5": "a7748f99d7aa96006e0560d74ba4cd8d", "sha256": "1c69138f09e0993f1a62e0461521c4bbbf239794017617daadce54e2138043b8" }, "downloads": -1, "filename": "businessdate-0.4-py2-none-any.whl", "has_sig": false, "md5_digest": "a7748f99d7aa96006e0560d74ba4cd8d", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 17570, "upload_time": "2017-12-31T11:29:09", "url": "https://files.pythonhosted.org/packages/f5/97/5d2efae97099c7d5418d8ba4398ec72c997fd8088a5be61114ebba5421fa/businessdate-0.4-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3aa1dd68cc81640ba9ee60dcc56db56f", "sha256": "0c0b1b5dbacfa98f59af3c331f2b3fbea7c503c676591354ea7e7876129e0803" }, "downloads": -1, "filename": "businessdate-0.4.zip", "has_sig": false, "md5_digest": "3aa1dd68cc81640ba9ee60dcc56db56f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28137, "upload_time": "2017-12-31T11:29:10", "url": "https://files.pythonhosted.org/packages/e9/7e/076b2e27e62c1a331c20489ec92add2d249bf6984543fb7e4eb38bfe9f4e/businessdate-0.4.zip" } ], "0.5": [ { "comment_text": "", "digests": { "md5": "40f8cf61715e579bab98c558edec5dc4", "sha256": "b284e10fd28cc53d85f3c3999bacbcca44f238985f721fa0d50acd5bec965027" }, "downloads": -1, "filename": "businessdate-0.5-py3-none-any.whl", "has_sig": false, "md5_digest": "40f8cf61715e579bab98c558edec5dc4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 26590, "upload_time": "2019-09-18T12:43:13", "url": "https://files.pythonhosted.org/packages/a9/11/61ce316212f3cb9d7186c11a11296e1ae48d1b802ef549ef6c51108f94dd/businessdate-0.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5b2f65478d90817fb37055bc8b83aab2", "sha256": "39c5524ef01f3380b921c50f5bb545d2486ba0db19ff256cab263182840da91f" }, "downloads": -1, "filename": "businessdate-0.5.tar.gz", "has_sig": false, "md5_digest": "5b2f65478d90817fb37055bc8b83aab2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 35555, "upload_time": "2019-09-18T12:43:15", "url": "https://files.pythonhosted.org/packages/f7/10/c85b4f26c91f3db4cdec3c37a6e26d6e6cbe8bb4301b07a3b824d33b62fd/businessdate-0.5.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "40f8cf61715e579bab98c558edec5dc4", "sha256": "b284e10fd28cc53d85f3c3999bacbcca44f238985f721fa0d50acd5bec965027" }, "downloads": -1, "filename": "businessdate-0.5-py3-none-any.whl", "has_sig": false, "md5_digest": "40f8cf61715e579bab98c558edec5dc4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 26590, "upload_time": "2019-09-18T12:43:13", "url": "https://files.pythonhosted.org/packages/a9/11/61ce316212f3cb9d7186c11a11296e1ae48d1b802ef549ef6c51108f94dd/businessdate-0.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5b2f65478d90817fb37055bc8b83aab2", "sha256": "39c5524ef01f3380b921c50f5bb545d2486ba0db19ff256cab263182840da91f" }, "downloads": -1, "filename": "businessdate-0.5.tar.gz", "has_sig": false, "md5_digest": "5b2f65478d90817fb37055bc8b83aab2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 35555, "upload_time": "2019-09-18T12:43:15", "url": "https://files.pythonhosted.org/packages/f7/10/c85b4f26c91f3db4cdec3c37a6e26d6e6cbe8bb4301b07a3b824d33b62fd/businessdate-0.5.tar.gz" } ] }