{ "info": { "author": "Brandon Nielsen", "author_email": "nielsenb@jetfuse.net", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "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": "AttoTimeBuilder\n================\n\naniso8601 builder for attodatetimes\n-----------------------------------\n\nFeatures\n========\n* Provides :code:`AttoTimeBuilder` compatible with `aniso8601 `_\n* Returns :code:`attodatetime` and :code:`attotimedelta` `types `_\n\nInstallation\n============\n\nThe recommended installation method is to use pip::\n\n $ pip install attotimebuilder\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 attotimebuilder import AttoTimeBuilder\n >>> aniso8601.parse_datetime('1977-06-10T12:00:00', builder=AttoTimeBuilder)\n attotime.attodatetime(1977, 6, 10, 12, 0, 0, 0, 0)\n\nAlternative delimiters can be specified, for example, a space::\n\n >>> aniso8601.parse_datetime('1977-06-10 12:00:00', delimiter=' ', builder=AttoTimeBuilder)\n attotime.attodatetime(1977, 6, 10, 12, 0, 0, 0, 0)\n\nBoth UTC (Z) and UTC offsets for timezones are supported::\n\n >>> aniso8601.parse_datetime('1977-06-10T12:00:00Z', builder=AttoTimeBuilder)\n attotime.attodatetime(1977, 6, 10, 12, 0, 0, 0, 0, +0:00:00 UTC)\n >>> aniso8601.parse_datetime('1979-06-05T08:00:00-08:00', builder=AttoTimeBuilder)\n attotime.attodatetime(1979, 6, 5, 8, 0, 0, 0, 0, -8:00:00 UTC)\n\nLeap seconds are explicitly not supported::\n\n >>> aniso8601.parse_datetime('2018-03-06T23:59:60', builder=AttoTimeBuilder)\n Traceback (most recent call last):\n File \"\", line 1, in \n File \"/home/nielsenb/Jetfuse/attotimebuilder/python2/lib/python2.7/site-packages/aniso8601/time.py\", line 131, in parse_datetime\n return builder.build_datetime(datepart, timepart)\n File \"attotimebuilder/__init__.py\", line 120, in build_datetime\n cls._build_object(time))\n File \"/home/nielsenb/Jetfuse/attotimebuilder/python2/lib/python2.7/site-packages/aniso8601/builder.py\", line 71, in _build_object\n ss=parsetuple[2], tz=parsetuple[3])\n File \"attotimebuilder/__init__.py\", line 73, in build_time\n raise LeapSecondError('Leap seconds are not supported.')\n aniso8601.exceptions.LeapSecondError: Leap seconds are not supported.\n\nParsing dates\n-------------\n\nThere is no :code:`attodate` type, so native Python :code:`datetime.date` objects are returned.\n\nTo parse a date represented in an ISO 8601 string::\n\n >>> import aniso8601\n >>> from attotimebuilder import AttoTimeBuilder\n >>> aniso8601.parse_date('1984-04-23', builder=AttoTimeBuilder)\n datetime.date(1984, 4, 23)\n\nBasic format is supported as well::\n\n >>> aniso8601.parse_date('19840423', builder=AttoTimeBuilder)\n datetime.date(1984, 4, 23)\n\nTo parse a date using the ISO 8601 week date format::\n\n >>> aniso8601.parse_date('1986-W38-1', builder=AttoTimeBuilder)\n datetime.date(1986, 9, 15)\n\nTo parse an ISO 8601 ordinal date::\n\n >>> aniso8601.parse_date('1988-132', builder=AttoTimeBuilder)\n datetime.date(1988, 5, 11)\n\nParsing times\n-------------\n\nTo parse a time formatted as an ISO 8601 string::\n\n >>> import aniso8601\n >>> from attotimebuilder import AttoTimeBuilder\n >>> aniso8601.parse_time('11:31:14', builder=AttoTimeBuilder)\n attotime.attotime(11, 31, 14, 0, 0)\n\nAs with all of the above, basic format is supported::\n\n >>> aniso8601.parse_time('113114', builder=AttoTimeBuilder)\n attotime.attotime(11, 31, 14, 0, 0)\n\nA UTC offset can be specified for times::\n\n >>> aniso8601.parse_time('17:18:19-02:30', builder=AttoTimeBuilder)\n attotime.attotime(17, 18, 19, 0, 0, -2:30:00 UTC)\n >>> aniso8601.parse_time('171819Z', builder=AttoTimeBuilder)\n attotime.attotime(17, 18, 19, 0, 0, +0:00:00 UTC)\n\nReduced accuracy is supported::\n\n >>> aniso8601.parse_time('21:42', builder=AttoTimeBuilder)\n attotime.attotime(21, 42, 0, 0, 0)\n >>> aniso8601.parse_time('22', builder=AttoTimeBuilder)\n attotime.attotime(22, 0, 0, 0, 0)\n\nA decimal fraction is always allowed on the lowest order element of an ISO 8601 formatted time::\n\n >>> aniso8601.parse_time('22:33.5', builder=AttoTimeBuilder)\n attotime.attotime(22, 33, 30, 0, 0.0)\n >>> aniso8601.parse_time('23.75', builder=AttoTimeBuilder)\n attotime.attotime(23, 45, 0, 0, 0.00)\n\nLeap seconds are explicitly not supported and attempting to parse one raises a :code:`LeapSecondError`::\n\n >>> aniso8601.parse_time('23:59:60', builder=AttoTimeBuilder)\n Traceback (most recent call last):\n File \"\", line 1, in \n File \"/home/nielsenb/Jetfuse/attotimebuilder/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/attotimebuilder/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 \"attotimebuilder/__init__.py\", line 73, in build_time\n raise LeapSecondError('Leap seconds are not supported.')\n aniso8601.exceptions.LeapSecondError: Leap seconds are not supported.\n\nParsing durations\n-----------------\n\nTo parse a duration formatted as an ISO 8601 string::\n\n >>> import aniso8601\n >>> from attotimebuilder import AttoTimeBuilder\n >>> aniso8601.parse_duration('P1Y2M3DT4H54M6S', builder=AttoTimeBuilder)\n attotime.attotimedelta(428, 17646)\n\nReduced accuracy is supported::\n\n >>> aniso8601.parse_duration('P1Y', builder=AttoTimeBuilder)\n attotime.attotimedelta(365)\n\nA decimal fraction is allowed on the lowest order element::\n\n >>> aniso8601.parse_duration('P1YT3.5M', builder=AttoTimeBuilder)\n attotime.attotimedelta(365, 210)\n\nThe decimal fraction can be specified with a comma instead of a full-stop::\n\n >>> aniso8601.parse_duration('P1YT3,5M', builder=AttoTimeBuilder)\n attotime.attotimedelta(365, 210)\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=AttoTimeBuilder)\n attotime.attotimedelta(397, 5405)\n\nParsing intervals\n-----------------\n\nTo parse an interval specified by a start and end::\n\n >>> import aniso8601\n >>> from attotimebuilder import AttoTimeBuilder\n >>> aniso8601.parse_interval('2007-03-01T13:00:00/2008-05-11T15:30:00', builder=AttoTimeBuilder)\n (attotime.attodatetime(2007, 3, 1, 13, 0, 0, 0, 0), attotime.attodatetime(2008, 5, 11, 15, 30, 0, 0, 0))\n\nIntervals specified by a start time and a duration are supported::\n\n >>> aniso8601.parse_interval('2007-03-01T13:00:00/P1Y2M10DT2H30M', builder=AttoTimeBuilder)\n (attotime.attodatetime(2007, 3, 1, 13, 0, 0, 0, 0), attotime.attodatetime(2008, 5, 9, 15, 30, 0, 0, 0))\n\nA duration can also be specified by a duration and end time, note that no :code:`attodate` type exists, so dates are returned as native :code:`datetime.date` objects::\n\n >>> aniso8601.parse_interval('P1M/1981-04-05', builder=AttoTimeBuilder)\n (datetime.date(1981, 4, 5), datetime.date(1981, 3, 6))\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=AttoTimeBuilder))\n [datetime.date(1981, 3, 6), datetime.date(1981, 4, 5)]\n\nThe end of an interval is returned as a :code:`attodatetime` 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=AttoTimeBuilder)\n (datetime.date(2014, 11, 12), attotime.attodatetime(2014, 11, 12, 4, 54, 6, 500000, 0.0))\n >>> aniso8601.parse_interval('2007-03-01/P1.5D', builder=AttoTimeBuilder)\n (datetime.date(2007, 3, 1), attotime.objects.attodatetime(2007, 3, 2, 12, 0, 0, 0, 0.0))\n\nRepeating intervals are supported as well, and return a generator::\n\n >>> aniso8601.parse_repeating_interval('R3/1981-04-05/P1D', builder=AttoTimeBuilder)\n \n >>> list(aniso8601.parse_repeating_interval('R3/1981-04-05/P1D', builder=AttoTimeBuilder))\n [datetime.date(1981, 4, 5), datetime.date(1981, 4, 6), datetime.date(1981, 4, 7)]\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=AttoTimeBuilder))\n [attotime.attodatetime(1980, 3, 5, 1, 1, 0, 0, 0), attotime.attodatetime(1980, 3, 4, 23, 59, 0, 0, 0)]\n\nUnbounded intervals are also allowed (Python 2)::\n\n >>> result = aniso8601.parse_repeating_interval('R/PT1H2M/1980-03-05T01:01:00', builder=AttoTimeBuilder)\n >>> result.next()\n attotime.attodatetime(1980, 3, 5, 1, 1, 0, 0, 0)\n >>> result.next()\n attotime.attodatetime(1980, 3, 4, 23, 59, 0, 0, 0)\n\nor for Python 3::\n\n >>> result = aniso8601.parse_repeating_interval('R/PT1H2M/1980-03-05T01:01:00', builder=AttoTimeBuilder)\n >>> next(result)\n attotime.attodatetime(1980, 3, 5, 1, 1, 0, 0, 0)\n >>> next(result)\n attotime.attodatetime(1980, 3, 4, 23, 59, 0, 0, 0)\n\nThe above treat years as 365 days and months as 30 days. Fractional months and years are supported accordingly::\n\n >>> aniso8601.parse_interval('P1.1Y/2001-02-28', builder=AttoTimeBuilder)\n (datetime.date(2001, 2, 28), datetime.date(2000, 1, 23))\n >>> aniso8601.parse_interval('2001-02-28/P1Y2.5M', builder=AttoTimeBuilder)\n (datetime.date(2001, 2, 28), datetime.date(2002, 5, 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\nattotimebuilder is an open source project hosted on `Bitbucket `_.\n\nAny and all bugs are welcome on our `issue tracker `_.\n\nReferences\n==========\n\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/attotimebuilder", "keywords": "iso8601 attotime aniso8601 datetime", "license": "", "maintainer": "", "maintainer_email": "", "name": "attotimebuilder", "package_url": "https://pypi.org/project/attotimebuilder/", "platform": "", "project_url": "https://pypi.org/project/attotimebuilder/", "project_urls": { "Documentation": "https://attotimebuilder.readthedocs.io/", "Homepage": "https://bitbucket.org/nielsenb/attotimebuilder", "Source": "https://bitbucket.org/nielsenb/attotimebuilder", "Tracker": "https://bitbucket.org/nielsenb/attotimebuilder/issues" }, "release_url": "https://pypi.org/project/attotimebuilder/0.3.1/", "requires_dist": [ "aniso8601 (<9.0.0,>=5.0.0)", "attotime (<0.3.0,>=0.2.0)" ], "requires_python": "", "summary": "A library for using the attotime datetime API with aniso8601", "version": "0.3.1" }, "last_serial": 5817641, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "5289fdaa363cfa9c760af8e0461aaa84", "sha256": "80e38b2063da344c395d89b8984f0d7481b2328d5bc39802dfa251fcd6fb81e9" }, "downloads": -1, "filename": "attotimebuilder-0.0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "5289fdaa363cfa9c760af8e0461aaa84", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7182, "upload_time": "2018-10-25T21:00:15", "url": "https://files.pythonhosted.org/packages/6f/33/fbe3d523a590d6f69c26a72b744bac43cc925eebdcd20cc8730e1b175d5f/attotimebuilder-0.0.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9a03bbd7b5f9c109df4fd473d599ece3", "sha256": "70bf1bec7e704d2450decc730b29ea7f333c24149bac53b1766cdb2a6e6f6079" }, "downloads": -1, "filename": "attotimebuilder-0.0.1.tar.gz", "has_sig": false, "md5_digest": "9a03bbd7b5f9c109df4fd473d599ece3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6566, "upload_time": "2018-10-25T21:00:16", "url": "https://files.pythonhosted.org/packages/e4/7a/70cd20974814f12884637bd947e924bc924d02d635f4f96dc9e362e36052/attotimebuilder-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "2150594fc3a6e873ba67aaff8f2ab2c7", "sha256": "ebcda9406f35af57efdcd9435812661ac668ed992e011699e34552d813818201" }, "downloads": -1, "filename": "attotimebuilder-0.0.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "2150594fc3a6e873ba67aaff8f2ab2c7", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7177, "upload_time": "2018-10-25T21:01:55", "url": "https://files.pythonhosted.org/packages/aa/f2/2b19c702371cbb228677176dd8a91c54ebf8d90a605d6f2a4c75a1f33e14/attotimebuilder-0.0.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "280fb9a6b2a2cf35e96db1711e27157d", "sha256": "58e6573e79d9c7758444e0d17c802c5dcc5b24bf1c85dfd581773a701101e066" }, "downloads": -1, "filename": "attotimebuilder-0.0.2.tar.gz", "has_sig": false, "md5_digest": "280fb9a6b2a2cf35e96db1711e27157d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6560, "upload_time": "2018-10-25T21:01:57", "url": "https://files.pythonhosted.org/packages/e8/33/1d281accf72705d47dbd0a2705af75b90d01cc355bc51da22ae2c924a4e0/attotimebuilder-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "f06a0e76f1d4177995286c52be2ceddb", "sha256": "7b3780537a7d727e3a52f66b221e4db4586dac3eaf719c0343d5d720be687f4e" }, "downloads": -1, "filename": "attotimebuilder-0.0.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f06a0e76f1d4177995286c52be2ceddb", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6162, "upload_time": "2019-01-05T16:27:06", "url": "https://files.pythonhosted.org/packages/32/e4/4d47600421aaaf225f834924956472dde887819a7c63850cb4adc2e0e50a/attotimebuilder-0.0.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d336c530f84f1241334e8b1610154c39", "sha256": "e8d472d7a5ea2136f2bcc22da503e54f9d7152af733b5605ed06e8e3d2bcb47b" }, "downloads": -1, "filename": "attotimebuilder-0.0.3.tar.gz", "has_sig": false, "md5_digest": "d336c530f84f1241334e8b1610154c39", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8355, "upload_time": "2019-01-05T16:27:07", "url": "https://files.pythonhosted.org/packages/05/35/6b4b246e1773d90e8f17beaf9eaa44b9e60eee51efcbf2f0abcf9b6d7a1c/attotimebuilder-0.0.3.tar.gz" } ], "0.1.0": [ { "comment_text": "", "digests": { "md5": "7535f601ad6f09704ad3a7e19df9a4a8", "sha256": "a7cc6de79f6f0f2d54656bbc3240c0161852c7b76dfdd047999d323299af2f1c" }, "downloads": -1, "filename": "attotimebuilder-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "7535f601ad6f09704ad3a7e19df9a4a8", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 9801, "upload_time": "2019-01-10T01:56:43", "url": "https://files.pythonhosted.org/packages/83/b3/306b33164b32aebc9eab40e40a9391db8e71b30d8da865e56d258051a3be/attotimebuilder-0.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d4376ef61b77cdcbc1f98d77f491acf7", "sha256": "230fd82bd4ed9f90ec04f3f80cbbb666daf922c12ef4f4c1ba3515f87be6adc2" }, "downloads": -1, "filename": "attotimebuilder-0.1.0.tar.gz", "has_sig": false, "md5_digest": "d4376ef61b77cdcbc1f98d77f491acf7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12858, "upload_time": "2019-01-10T01:56:44", "url": "https://files.pythonhosted.org/packages/ef/59/3868cdcfbb525416a7f3ab233aaddc24b1f512da4d803fdf771204274816/attotimebuilder-0.1.0.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "13dc332a602dbed96aab5e7fe4f1bf5e", "sha256": "b709979c21ccf7e70496799893a1310fd15d885e792f7ba2a353136ef979ba14" }, "downloads": -1, "filename": "attotimebuilder-0.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "13dc332a602dbed96aab5e7fe4f1bf5e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 11191, "upload_time": "2019-03-01T21:14:09", "url": "https://files.pythonhosted.org/packages/41/47/e136326faef21a0344514cdd8db86b0783b201c95e9d8668f2a084bedccd/attotimebuilder-0.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "139c1813381d1b6bb71fcfeeb48bea14", "sha256": "be5e7a8cb51a04edd72c35a3fd87e97617c420e1b1fda201474488409613511e" }, "downloads": -1, "filename": "attotimebuilder-0.2.0.tar.gz", "has_sig": false, "md5_digest": "139c1813381d1b6bb71fcfeeb48bea14", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14186, "upload_time": "2019-03-01T21:14:11", "url": "https://files.pythonhosted.org/packages/1e/d2/d4c867b9f6fb95c423e1c83fb93e21db9371fb0ff4456ab6155066191a43/attotimebuilder-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "7fb577665cbeb34a322761625442dd88", "sha256": "fc56d3378018509d159f871908218564f9650aa4a6820101a71a6442048c2921" }, "downloads": -1, "filename": "attotimebuilder-0.2.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "7fb577665cbeb34a322761625442dd88", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 11188, "upload_time": "2019-03-08T20:25:56", "url": "https://files.pythonhosted.org/packages/a8/f3/cb2fa5672ecf6584560e25cd40a3d42c1032e01204d082aeeaf67f2fed74/attotimebuilder-0.2.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "833e706b9121322f4846ac862931dce0", "sha256": "5fbf0f773ec4170ca63e93fed9c29f6fbe4c71db044c378518b3d77b02626bcb" }, "downloads": -1, "filename": "attotimebuilder-0.2.1.tar.gz", "has_sig": false, "md5_digest": "833e706b9121322f4846ac862931dce0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14189, "upload_time": "2019-03-08T20:25:58", "url": "https://files.pythonhosted.org/packages/b4/4a/9978d973c270eff879a1d2c2a4c6938f178c8e6f5525f2fd748216412d7f/attotimebuilder-0.2.1.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "ed6dfeed7c11c0bab3ce2bf649ea5ac8", "sha256": "9f0096e9345038c9fd959315ae1599881c5619ae18455c520287bca1dd732a72" }, "downloads": -1, "filename": "attotimebuilder-0.3.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "ed6dfeed7c11c0bab3ce2bf649ea5ac8", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 12170, "upload_time": "2019-06-11T20:03:09", "url": "https://files.pythonhosted.org/packages/3c/08/eb132792150f8422e303c4658535669044120a8fcf284c0f0ed2a42353de/attotimebuilder-0.3.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d013a753d87cea383d7bdfd5bb125f63", "sha256": "3ad02a6381d2829505a961b9cf675b430a33205f2e6e8b0cb1d7c56ba9066448" }, "downloads": -1, "filename": "attotimebuilder-0.3.0.tar.gz", "has_sig": false, "md5_digest": "d013a753d87cea383d7bdfd5bb125f63", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14183, "upload_time": "2019-06-11T20:03:11", "url": "https://files.pythonhosted.org/packages/d1/f1/2f5fb21f903942e31e57df6c935b301b32812f1ecdfef1a50c98067c9018/attotimebuilder-0.3.0.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "a70af8b001b7ed1603207a62f34e386f", "sha256": "315009b2bee8ad7602dde54a222aa84af013fb15563920195ab33940150eb243" }, "downloads": -1, "filename": "attotimebuilder-0.3.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a70af8b001b7ed1603207a62f34e386f", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 12169, "upload_time": "2019-09-12T01:08:03", "url": "https://files.pythonhosted.org/packages/ef/fb/9d2f56cc2fa7061c95acf9c0590fd97bdb0e66a04bd3e0bc466255597c86/attotimebuilder-0.3.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6031d483788872dc26581ba6009c07d9", "sha256": "e8a6c7336be70fd09cf7cc157b40680ad99d9df91d14415c56f1580fa9310483" }, "downloads": -1, "filename": "attotimebuilder-0.3.1.tar.gz", "has_sig": false, "md5_digest": "6031d483788872dc26581ba6009c07d9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14190, "upload_time": "2019-09-12T01:08:05", "url": "https://files.pythonhosted.org/packages/c3/62/7cb720b73fb27294c1af55aa006a799fac8fd8796da0448b4d0ddddb36bf/attotimebuilder-0.3.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "a70af8b001b7ed1603207a62f34e386f", "sha256": "315009b2bee8ad7602dde54a222aa84af013fb15563920195ab33940150eb243" }, "downloads": -1, "filename": "attotimebuilder-0.3.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a70af8b001b7ed1603207a62f34e386f", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 12169, "upload_time": "2019-09-12T01:08:03", "url": "https://files.pythonhosted.org/packages/ef/fb/9d2f56cc2fa7061c95acf9c0590fd97bdb0e66a04bd3e0bc466255597c86/attotimebuilder-0.3.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6031d483788872dc26581ba6009c07d9", "sha256": "e8a6c7336be70fd09cf7cc157b40680ad99d9df91d14415c56f1580fa9310483" }, "downloads": -1, "filename": "attotimebuilder-0.3.1.tar.gz", "has_sig": false, "md5_digest": "6031d483788872dc26581ba6009c07d9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14190, "upload_time": "2019-09-12T01:08:05", "url": "https://files.pythonhosted.org/packages/c3/62/7cb720b73fb27294c1af55aa006a799fac8fd8796da0448b4d0ddddb36bf/attotimebuilder-0.3.1.tar.gz" } ] }