{ "info": { "author": "Brandon Nielsen", "author_email": "nielsenb@jetfuse.net", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: BSD 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.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "NumPyTimeBuilder\n================\n\naniso8601 builder for NumPy datetimes\n-------------------------------------\n\nFeatures\n========\n* Provides :code:`NumPyTimeBuilder` compatible with `aniso8601 `_\n* Returns :code:`datetime64` and :code:`timedelta64` `NumPy types `_\n\nInstallation\n============\n\nThe recommended installation method is to use pip::\n\n $ pip install numpytimebuilder\n\nAlternatively, you can download the source (git repository hosted at `Bitbucket `_) and install directly::\n\n $ python setup.py install\n\nUse\n===\n\nParsing datetimes\n-----------------\n\nTo parse a typical ISO 8601 datetime string::\n\n >>> import aniso8601\n >>> from numpytimebuilder import NumPyTimeBuilder\n >>> aniso8601.parse_datetime('1977-06-10T12:00:00', builder=NumPyTimeBuilder)\n numpy.datetime64('1977-06-10T12:00:00')\n\nAlternative delimiters can be specified, for example, a space::\n\n >>> aniso8601.parse_datetime('1977-06-10 12:00:00', delimiter=' ', builder=NumPyTimeBuilder)\n numpy.datetime64('1977-06-10T12:00:00')\n\nSince the NumPy :code:`datetime64` implementaton only supports naive datetimes, timezones are explicitly not supported::\n\n >>> aniso8601.parse_datetime('1977-06-10T12:00:00Z', builder=NumPyTimeBuilder)\n Traceback (most recent call last):\n File \"\", line 1, in \n File \"/home/nielsenb/Jetfuse/numpytimebuilder/python2/lib/python2.7/site-packages/aniso8601/time.py\", line 131, in parse_datetime\n return builder.build_datetime(datepart, timepart)\n File \"numpytimebuilder/__init__.py\", line 37, in build_datetime\n raise NotImplementedError('Timezones are not supported by numpy '\n NotImplementedError: Timezones are not supported by numpy datetime64 type.\n >>> aniso8601.parse_datetime('1979-06-05T08:00:00-08:00', builder=NumPyTimeBuilder)\n Traceback (most recent call last):\n File \"\", line 1, in \n File \"/home/nielsenb/Jetfuse/numpytimebuilder/python2/lib/python2.7/site-packages/aniso8601/time.py\", line 131, in parse_datetime\n return builder.build_datetime(datepart, timepart)\n File \"numpytimebuilder/__init__.py\", line 37, in build_datetime\n raise NotImplementedError('Timezones are not supported by numpy '\n NotImplementedError: Timezones are not supported by numpy datetime64 type\n\nLeap seconds are not currently supported by the NumPy :code:`datetime64` implementation, so leap seconds are explicitly not supported::\n\n >>> aniso8601.parse_datetime('2018-03-06T23:59:60', builder=NumPyTimeBuilder)\n Traceback (most recent call last):\n File \"\", line 1, in \n File \"/home/nielsenb/Jetfuse/numpytimebuilder/python2/lib/python2.7/site-packages/aniso8601/time.py\", line 131, in parse_datetime\n return builder.build_datetime(datepart, timepart)\n File \"numpytimebuilder/__init__.py\", line 120, in build_datetime\n raise LeapSecondError('Leap seconds are not supported.')\n aniso8601.exceptions.LeapSecondError: Leap seconds are not supported.\n\nParsing dates\n-------------\n\nTo parse a date represented in an ISO 8601 string::\n\n >>> import aniso8601\n >>> from numpytimebuilder import NumPyTimeBuilder\n >>> aniso8601.parse_date('1984-04-23', builder=NumPyTimeBuilder)\n numpy.datetime64('1984-04-23')\n\nBasic format is supported as well::\n\n >>> aniso8601.parse_date('19840423', builder=NumPyTimeBuilder)\n numpy.datetime64('1984-04-23')\n\nTo parse a date using the ISO 8601 week date format::\n\n >>> aniso8601.parse_date('1986-W38-1', builder=NumPyTimeBuilder)\n numpy.datetime64('1986-09-15')\n\nTo parse an ISO 8601 ordinal date::\n\n >>> aniso8601.parse_date('1988-132', builder=NumPyTimeBuilder)\n numpy.datetime64('1988-05-11')\n\nParsing times\n-------------\n\nNumPy offers no :code:`time64` type, so parsing times is explicitly not supported::\n\n >>> import aniso8601\n >>> from numpytimebuilder import NumPyTimeBuilder\n >>> aniso8601.parse_time('11:31:14', builder=NumPyTimeBuilder)\n Traceback (most recent call last):\n File \"\", line 1, in \n File \"/home/nielsenb/Jetfuse/numpytimebuilder/python2/lib/python2.7/site-packages/aniso8601/time.py\", line 116, in parse_time\n return _RESOLUTION_MAP[get_time_resolution(timestr)](timestr, tz, builder)\n File \"/home/nielsenb/Jetfuse/numpytimebuilder/python2/lib/python2.7/site-packages/aniso8601/time.py\", line 165, in _parse_second_time\n return builder.build_time(hh=hourstr, mm=minutestr, ss=secondstr, tz=tz)\n File \"numpytimebuilder/__init__.py\", line 32, in build_time\n raise NotImplementedError('No compatible numpy time64 type.')\n NotImplementedError: No compatible numpy time64 type.\n\nParsing durations\n-----------------\n\nThe NumPy :code:`timedelta64` type only supports a single component per delta, so durations are returned as a tuple of :code:`timedelta64` objects.\n\nTo parse a duration formatted as an ISO 8601 string::\n\n >>> import aniso8601\n >>> from numpytimebuilder import NumPyTimeBuilder\n >>> aniso8601.parse_duration('P1Y2M3DT4H54M6S', builder=NumPyTimeBuilder)\n (numpy.timedelta64(428,'D'), numpy.timedelta64(4,'h'), numpy.timedelta64(54,'m'), numpy.timedelta64(6,'s'), numpy.timedelta64(0,'ms'), numpy.timedelta64(0,'us'), numpy.timedelta64(0,'ns'), numpy.timedelta64(0,'ps'), numpy.timedelta64(0,'fs'), numpy.timedelta64(0,'as'))\n\nReduced accuracy is supported::\n\n >>> aniso8601.parse_duration('P1Y', builder=NumPyTimeBuilder)\n (numpy.timedelta64(365,'D'), numpy.timedelta64(0,'h'), numpy.timedelta64(0,'m'), numpy.timedelta64(0,'s'), numpy.timedelta64(0,'ms'), numpy.timedelta64(0,'us'), numpy.timedelta64(0,'ns'), numpy.timedelta64(0,'ps'), numpy.timedelta64(0,'fs'), numpy.timedelta64(0,'as'))\n\nA decimal fraction is allowed on the lowest order element::\n\n >>> aniso8601.parse_duration('P1YT3.5M', builder=NumPyTimeBuilder)\n (numpy.timedelta64(365,'D'), numpy.timedelta64(0,'h'), numpy.timedelta64(3,'m'), numpy.timedelta64(30,'s'), numpy.timedelta64(0,'ms'), numpy.timedelta64(0,'us'), numpy.timedelta64(0,'ns'), numpy.timedelta64(0,'ps'), numpy.timedelta64(0,'fs'), numpy.timedelta64(0,'as'))\n\nThe decimal fraction can be specified with a comma instead of a full-stop::\n\n >>> aniso8601.parse_duration('P1YT3,5M', builder=NumPyTimeBuilder)\n (numpy.timedelta64(365,'D'), numpy.timedelta64(0,'h'), numpy.timedelta64(3,'m'), numpy.timedelta64(30,'s'), numpy.timedelta64(0,'ms'), numpy.timedelta64(0,'us'), numpy.timedelta64(0,'ns'), numpy.timedelta64(0,'ps'), numpy.timedelta64(0,'fs'), numpy.timedelta64(0,'as'))\n\nParsing a duration from a combined date and time is supported as well::\n\n >>> aniso8601.parse_duration('P0001-01-02T01:30:5', builder=NumPyTimeBuilder)\n (numpy.timedelta64(397,'D'), numpy.timedelta64(1,'h'), numpy.timedelta64(30,'m'), numpy.timedelta64(5,'s'), numpy.timedelta64(0,'ms'), numpy.timedelta64(0,'us'), numpy.timedelta64(0,'ns'), numpy.timedelta64(0,'ps'), numpy.timedelta64(0,'fs'), numpy.timedelta64(0,'as'))\n\nThe above treat years as 365 days and months as 30 days. Calendar level accuracy is not supported. Fractional years and months are supported accordingly::\n\n >>> aniso8601.parse_duration('P2.1Y', builder=NumPyTimeBuilder)\n (numpy.timedelta64(766,'D'), numpy.timedelta64(12,'h'), numpy.timedelta64(0,'m'), numpy.timedelta64(0,'s'), numpy.timedelta64(0,'ms'), numpy.timedelta64(0,'us'), numpy.timedelta64(0,'ns'), numpy.timedelta64(0,'ps'), numpy.timedelta64(0,'fs'), numpy.timedelta64(0,'as'))\n >>> aniso8601.parse_duration('P1Y0.5M', builder=NumPyTimeBuilder)\n (numpy.timedelta64(380,'D'), numpy.timedelta64(0,'h'), numpy.timedelta64(0,'m'), numpy.timedelta64(0,'s'), numpy.timedelta64(0,'ms'), numpy.timedelta64(0,'us'), numpy.timedelta64(0,'ns'), numpy.timedelta64(0,'ps'), numpy.timedelta64(0,'fs'), numpy.timedelta64(0,'as'))\n\nApplying durations\n^^^^^^^^^^^^^^^^^^\n\nThe :code:`apply_duration` helper function is provided for applying duration tuples to a :code:`datetime64` object. It takes a :code:`dateime64` (from :code:`parse_datetime`), a duration tuple (from :code:`parse_duration`), and a `Python operator `_ to be applied::\n\n >>> import aniso8601\n >>> import operator\n >>> from numpytimebuilder import NumPyTimeBuilder\n >>> from numpytimebuilder.util import apply_duration\n >>> datetime = aniso8601.parse_datetime('1977-06-10T12:00:00', builder=NumPyTimeBuilder)\n >>> duration = aniso8601.parse_duration('P3Y2M1DT1H2M3S', builder=NumPyTimeBuilder)\n >>> apply_duration(datetime, duration, operator.add)\n numpy.datetime64('1980-08-09T13:02:03')\n\n**Keep in mind the span of representable datetimes decreases as the resolution increases!** See the `NumPy Datetime Units `_ documentation for more information.\n\nParsing intervals\n-----------------\n\nTo parse an interval specified by a start and end::\n\n >>> import aniso8601\n >>> from numpytimebuilder import NumPyTimeBuilder\n >>> aniso8601.parse_interval('2007-03-01T13:00:00/2008-05-11T15:30:00')\n (numpy.datetime64('2007-03-01T13:00:00'), numpy.datetime64('2008-05-11T15:30:00'))\n\nIntervals specified by a start time and a duration are supported::\n\n >>> aniso8601.parse_interval('2007-03-01T13:00:00/P1Y2M10DT2H30M', builder=NumPyTimeBuilder)\n (numpy.datetime64('2007-03-01T13:00:00'), numpy.datetime64('2008-05-09T15:30:00'))\n\nA duration can also be specified by a duration and end time::\n\n >>> aniso8601.parse_interval('P1M/1981-04-05', builder=NumPyTimeBuilder)\n (numpy.datetime64('1981-04-05'), numpy.datetime64('1981-03-06'))\n\nNotice that the result of the above parse is not in order from earliest to latest. If sorted intervals are required, simply use the :code:`sorted` keyword as shown below::\n\n >>> sorted(aniso8601.parse_interval('P1M/1981-04-05', builder=NumPyTimeBuilder))\n [numpy.datetime64('1981-03-06'), numpy.datetime64('1981-04-05')]\n\nThe end of an interval is returned as a datetime when required to maintain the resolution specified by a duration, even if the duration start is given as a date::\n\n >>> aniso8601.parse_interval('2014-11-12/PT4H54M6.5S', builder=NumPyTimeBuilder)\n (numpy.datetime64('2014-11-12'), numpy.datetime64('2014-11-12T04:54:06.500'))\n >>> aniso8601.parse_interval('2007-03-01/P1.5D', builder=NumPyTimeBuilder)\n (numpy.datetime64('2007-03-01'), numpy.datetime64('2007-03-02T12:00:00'))\n\nRepeating intervals are supported as well, and return a generator::\n\n >>> aniso8601.parse_repeating_interval('R3/1981-04-05/P1D', builder=NumPyTimeBuilder)\n \n >>> list(aniso8601.parse_repeating_interval('R3/1981-04-05/P1D', builder=NumPyTimeBuilder))\n [numpy.datetime64('1981-04-05'), numpy.datetime64('1981-04-06'), numpy.datetime64('1981-04-07')]\n\nRepeating intervals are allowed to go in the reverse direction::\n\n >>> list(aniso8601.parse_repeating_interval('R2/PT1H2M/1980-03-05T01:01:00', builder=NumPyTimeBuilder))\n [numpy.datetime64('1980-03-05T01:01:00'), numpy.datetime64('1980-03-04T23:59:00')]\n\nUnbounded intervals are also allowed (Python 2)::\n\n >>> result = aniso8601.parse_repeating_interval('R/PT1H2M/1980-03-05T01:01:00', builder=NumPyTimeBuilder)\n >>> result.next()\n numpy.datetime64('1980-03-05T01:01:00')\n >>> result.next()\n numpy.datetime64('1980-03-04T23:59:00')\n\nor for Python 3::\n\n >>> result = aniso8601.parse_repeating_interval('R/PT1H2M/1980-03-05T01:01:00', builder=NumPyTimeBuilder)\n >>> next(result)\n numpy.datetime64('1980-03-05T01:01:00')\n >>> next(result)\n numpy.datetime64('1980-03-04T23:59:00')\n\nThe above treat years as 365 days and months as 30 days. Calendar level accuracy is not supported. Fractional months and years are supported accordingly::\n\n >>> aniso8601.parse_interval('P1.1Y/2001-02-28', builder=NumPyTimeBuilder)\n (numpy.datetime64('2001-02-28'), numpy.datetime64('2000-01-24'))\n >>> aniso8601.parse_interval('2001-02-28/P1Y2.5M', builder=NumPyTimeBuilder)\n (numpy.datetime64('2001-02-28'), numpy.datetime64('2002-05-14'))\n\nDevelopment\n===========\n\nSetup\n-----\n\nIt is recommended to develop using a `virtualenv `_.\n\nTests\n-----\n\nTests can be run using `setuptools `::\n\n $ python setup.py test\n\nContributing\n============\n\nnumpytimebuilder is an open source project hosted on `Bitbucket `_.\n\nAny and all bugs are welcome on our `issue tracker `_.\n\nReferences\n==========\n\n* `NumPy datetimes and timedeltas `_\n* `aniso8601 and sub-microsecond precision `_\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://bitbucket.org/nielsenb/numpytimebuilder", "keywords": "iso8601 numpy aniso8601 datetime", "license": "", "maintainer": "", "maintainer_email": "", "name": "numpytimebuilder", "package_url": "https://pypi.org/project/numpytimebuilder/", "platform": "", "project_url": "https://pypi.org/project/numpytimebuilder/", "project_urls": { "Documentation": "https://numpytimebuilder.readthedocs.io/", "Homepage": "https://bitbucket.org/nielsenb/numpytimebuilder", "Source": "https://bitbucket.org/nielsenb/numpytimebuilder", "Tracker": "https://bitbucket.org/nielsenb/numpytimebuilder/issues" }, "release_url": "https://pypi.org/project/numpytimebuilder/0.3.1/", "requires_dist": [ "aniso8601 (<9.0.0,>=5.0.0)", "numpy (>=1.17.2)" ], "requires_python": "", "summary": "A library for using the NumPy datetime API with aniso8601", "version": "0.3.1" }, "last_serial": 5817686, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "0a141dbabdb3f7ccec942d42083b5b40", "sha256": "a9e83fe9a99b448813d490e73a2cd777ec5c6606dce1266248776c46b7b793e4" }, "downloads": -1, "filename": "numpytimebuilder-0.0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "0a141dbabdb3f7ccec942d42083b5b40", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 10333, "upload_time": "2018-10-25T20:52:50", "url": "https://files.pythonhosted.org/packages/d2/66/469dbac78421ca1997f08384878b80a5fa8a0b88dc9257c9ca76db8a1f58/numpytimebuilder-0.0.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9bdeeb2f14f94521d947f3e0e3d3d5f2", "sha256": "28639810de2b2b5496a2a3a0bcd3dea32424cdb7adeab9c2bc77d973e745d606" }, "downloads": -1, "filename": "numpytimebuilder-0.0.1.tar.gz", "has_sig": false, "md5_digest": "9bdeeb2f14f94521d947f3e0e3d3d5f2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 32217, "upload_time": "2018-10-25T20:52:52", "url": "https://files.pythonhosted.org/packages/4b/06/643655866bb278deb95bfd5e0fa9785b85e01f90db82c9ec59016582de31/numpytimebuilder-0.0.1.tar.gz" } ], "0.1.0": [ { "comment_text": "", "digests": { "md5": "839bfd909625b3bc75d89494bf6f8495", "sha256": "dc508e8eb2d6609c3b7d85caa5cea960173ed9e02c75c9595f7becf15544e019" }, "downloads": -1, "filename": "numpytimebuilder-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "839bfd909625b3bc75d89494bf6f8495", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 13842, "upload_time": "2019-01-10T02:07:25", "url": "https://files.pythonhosted.org/packages/75/b7/8c085997754b353afcf237d16ae8f5cf7a03fba671e630076a3f7248a371/numpytimebuilder-0.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "31b3cafd1b201a172740fea4136808e8", "sha256": "bb855ff1658ea831da3bd4cc3946ca65bdce4c67e1a858bae79e4ec0ceaab5df" }, "downloads": -1, "filename": "numpytimebuilder-0.1.0.tar.gz", "has_sig": false, "md5_digest": "31b3cafd1b201a172740fea4136808e8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 34601, "upload_time": "2019-01-10T02:07:27", "url": "https://files.pythonhosted.org/packages/18/da/8f91f638cc5bb44687e968825e3f7d9ef20b842e61d9f9a93c550c305ce6/numpytimebuilder-0.1.0.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "b953f38e66d17fde246308ced4bf3b0f", "sha256": "eb460f866aa7bed8bd2ce18554b2e1d4b3f826619c1733f0ed6833168ec31d9d" }, "downloads": -1, "filename": "numpytimebuilder-0.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b953f38e66d17fde246308ced4bf3b0f", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 14508, "upload_time": "2019-03-01T21:28:21", "url": "https://files.pythonhosted.org/packages/a9/49/704557eb211c9188f6d700e9ce6e8bd843bc9139cbfc7607c046b00b39c8/numpytimebuilder-0.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2ad8540d2c0bb3ab086a5ee6b3625803", "sha256": "14c535548e52646b7c0dd4fabf44e61472e49560aff8f86f269fc1b093143aba" }, "downloads": -1, "filename": "numpytimebuilder-0.2.0.tar.gz", "has_sig": false, "md5_digest": "2ad8540d2c0bb3ab086a5ee6b3625803", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36104, "upload_time": "2019-03-01T21:28:23", "url": "https://files.pythonhosted.org/packages/ae/8a/bb19606beabd10b2aa28a1159ec1dacd3ee6f36a2a6e707305a861a06e00/numpytimebuilder-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "c2a9a072ae8032d6aac6c339ca29871b", "sha256": "04d89782e27c4db1d1489891f0db003043ed72fa997753acb7a9cfcb053855f0" }, "downloads": -1, "filename": "numpytimebuilder-0.2.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c2a9a072ae8032d6aac6c339ca29871b", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 14505, "upload_time": "2019-03-08T20:19:12", "url": "https://files.pythonhosted.org/packages/f8/58/3b04fd2a14bf7131ace3cd2628816eede46b5016113fa32f2d16a8caf2c2/numpytimebuilder-0.2.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9fe781014bd9632dc8f9ffcf7f0b363b", "sha256": "a140aa6b3cb45e7d6649e5288cc700fb4d6a546383123752e0760afc9fe065c9" }, "downloads": -1, "filename": "numpytimebuilder-0.2.1.tar.gz", "has_sig": false, "md5_digest": "9fe781014bd9632dc8f9ffcf7f0b363b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36109, "upload_time": "2019-03-08T20:19:13", "url": "https://files.pythonhosted.org/packages/67/59/889d4e7f3590a1c9f5d359cfff441c112c2366d5ae194285a57f67c62ef7/numpytimebuilder-0.2.1.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "c6bf36d02b9197d2f9a17f1906d15e33", "sha256": "0f8ed5c3a99e55d55f65069d4d4e3ec17afc62cb8772849c3c0b861ec1c9b6ae" }, "downloads": -1, "filename": "numpytimebuilder-0.3.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c6bf36d02b9197d2f9a17f1906d15e33", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 15496, "upload_time": "2019-06-11T20:09:21", "url": "https://files.pythonhosted.org/packages/62/4a/f62ea0be5b99d6bb5844c01810d7acd221377cfde06c5e7925114adfd885/numpytimebuilder-0.3.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2ee153893b362ba4a2f6d0e14e1be1a3", "sha256": "8027d5d48e42aef4f5ca8bc9aca816b280597803533dcd36e1d5a2cde0c48380" }, "downloads": -1, "filename": "numpytimebuilder-0.3.0.tar.gz", "has_sig": false, "md5_digest": "2ee153893b362ba4a2f6d0e14e1be1a3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36107, "upload_time": "2019-06-11T20:09:23", "url": "https://files.pythonhosted.org/packages/bd/20/5cdc61405c422a973f26f8e05462970d97ac8e87945badda1a09a970a175/numpytimebuilder-0.3.0.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "5766023d9ca5e15ec90938990e4ddd47", "sha256": "10688193ce9b4302efefb01aeb09940e965b6974b380b27e682974727b4441bc" }, "downloads": -1, "filename": "numpytimebuilder-0.3.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "5766023d9ca5e15ec90938990e4ddd47", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 15494, "upload_time": "2019-09-12T01:18:54", "url": "https://files.pythonhosted.org/packages/75/34/9ff665702eb11f617af00be14fd869c77025c9521e15cf4cf1722aa7974e/numpytimebuilder-0.3.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "49dba1140d46f1ada86318a4dbe2e615", "sha256": "8e75e2510a16604cc7358e69462b2283f2a3ebf3ef437a9b0d9d9dde73f61b77" }, "downloads": -1, "filename": "numpytimebuilder-0.3.1.tar.gz", "has_sig": false, "md5_digest": "49dba1140d46f1ada86318a4dbe2e615", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36203, "upload_time": "2019-09-12T01:18:56", "url": "https://files.pythonhosted.org/packages/2c/02/052843361495733446240110a02ed53fcae078702524a9d586ccb9c26f3e/numpytimebuilder-0.3.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "5766023d9ca5e15ec90938990e4ddd47", "sha256": "10688193ce9b4302efefb01aeb09940e965b6974b380b27e682974727b4441bc" }, "downloads": -1, "filename": "numpytimebuilder-0.3.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "5766023d9ca5e15ec90938990e4ddd47", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 15494, "upload_time": "2019-09-12T01:18:54", "url": "https://files.pythonhosted.org/packages/75/34/9ff665702eb11f617af00be14fd869c77025c9521e15cf4cf1722aa7974e/numpytimebuilder-0.3.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "49dba1140d46f1ada86318a4dbe2e615", "sha256": "8e75e2510a16604cc7358e69462b2283f2a3ebf3ef437a9b0d9d9dde73f61b77" }, "downloads": -1, "filename": "numpytimebuilder-0.3.1.tar.gz", "has_sig": false, "md5_digest": "49dba1140d46f1ada86318a4dbe2e615", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36203, "upload_time": "2019-09-12T01:18:56", "url": "https://files.pythonhosted.org/packages/2c/02/052843361495733446240110a02ed53fcae078702524a9d586ccb9c26f3e/numpytimebuilder-0.3.1.tar.gz" } ] }