{ "info": { "author": "Eric Goller", "author_email": "Elbenfreund@DenkenInEchtzeit.net", "bugtrack_url": null, "classifiers": [ "Development Status :: 2 - Pre-Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", "Natural Language :: English", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4" ], "description": "===============================\nhamsterlib\n===============================\n\n.. image:: https://img.shields.io/pypi/v/hamsterlib.svg\n :target: https://pypi.python.org/pypi/hamsterlib\n\n.. image:: https://img.shields.io/travis/elbenfreund/hamsterlib/master.svg\n :target: https://travis-ci.org/elbenfreund/hamsterlib\n\n.. image:: https://img.shields.io/codecov/c/github/elbenfreund/hamsterlib/master.svg\n :target: https://codecov.io/github/elbenfreund/hamsterlib\n\n.. image:: https://badge.waffle.io/elbenfreund/hamsterlib.svg?label=ready&title=Ready\n :target: https://waffle.io/elbenfreund/hamsterlib\n :alt: 'Stories in Ready' \n\n.. image:: https://readthedocs.org/projects/hamsterlib/badge/?version=master\n :target: https://readthedocs.org/projects/hamsterlib/?badge=master\n :alt: Documentation Status\n\n.. image:: https://requires.io/github/elbenfreund/hamsterlib/requirements.svg?branch=master\n :target: https://requires.io/github/elbenfreund/hamsterlib/requirements/?branch=master\n :alt: Requirements Status\n\n(A badges refer to ``master``)\n\nA library for common timetracking functionality.\n\n``hamsterlib`` aims to be a replacement for ``projecthamster`` backend\nlibrary. While we are not able to function as a straight forward drop-in\nreplacement we try very hard to stay as compatible as possible. As a consequence\nclients are able to switch to ``hamsterlib`` merely by changing some basic \ncalls. Most of the semantics and return values will be as before.\n\nThis itself points to a major architectural shift in the way ``hamsterlib`` approaches\ntimetracking. We are firm believers in *do one thing, and do it well*. The tried and\ntested unix toolbox principle. As such we focus on providing useful backend\nfunctionality and helper methods so clients (dbus interfaces, CLIs or graphical UIs)\ncan build upon a solid and consistent base and focus on their specific requirements.\n\nFeatures\n--------\n* Full python >=2.7 and >=3.4 compatibility\n* Full unicode support\n* >= 95% test coverage\n* Extensive documentation\n* Focus on clean, maintainable code.\n* Free software: GPL3\n* All you need for production, test or dev environments comes out of the box\n with regular python tools.\n\nFirst Steps\n-----------\n* Build dev environment: ``make develop``\n* Build the documentation locally: ``make docs``\n* Run just the tests: ``make test``\n* Run entire test suite including linters and coverage: ``make test-all``\n\nAdditional Resources\n--------------------\n* `Documentation by 'read the docs' `_\n* `Project management with 'waffles' `_\n* `CI thanks to Travis-CI `_\n* `Coverage reports by 'codecov' `_\n* `Dependency monitoring by 'requires.io' `_\n\nNews: Version 0.10.0\n---------------------\nThis new release marks our switch to semantic versioning and brings a few stability improvements\nas well as ``\u00eccal`` and ``xml`` export. We improved documentation, internal code and\nproject handling a bit but for a full list of changes please refer to the changelog.\n\nTodo\n----\nThis early release is mainly meant as a rough proof-of-concept at this stage. It\nshowcases our API as well as our general design decisions.\nAs such there are a few functionalities/details of the original ``projecthamster``\nbackend that we wish to allow for, but are not provided so far.\nThese are:\n\n* Tags (We accept them but they are not stored in the backend.)\n* Autocomplete related methods\n* Trophies (The jury is still out on if and how we want to support those.)\n* Migrations from old databases.\n\nIncompatibilities\n------------------\nDespite our efforts to stay backwards compatible we did deliberately break the way\n``Facts`` without end dates are handled. We think allowing for them in any persistent\nbackend creates a data consistency nightmare and so far there seems no conceivable\nuse case for it, let alone an obvious semantic.\nWhat we do allow for is *one* ``ongoing fact``. That is a fact that has a start,\nbut no end date. For details, please refer to the documentation.\n\nCredits\n---------\nTools used in rendering this package:\n\n* Cookiecutter_\n* `cookiecutter-pypackage`_\n.. _Cookiecutter: https://github.com/audreyr/cookiecutter\n.. _`cookiecutter-pypackage`: https://github.com/audreyr/cookiecutter-pypackage\n\n\n\n\nHistory\n=======\n\n0.10.0\n------\n* Add ``ical`` export facilities. Brand new writer using the ``icalendar`` library.\n* Add ``xml`` export facilities.\n* Switch to `semantic versioning `_\n* Added GPL3 boilerplate\n* Provide documentation on packaging and ``requirements.txt``.\n* Add support for `editorconfig `_\n* Introduce fine grained, storage backend dependent config options.\n*\n\n0.0.3 (2016-04-08)\n-------------------\n* fact managers ``save`` method now enforces new ``fact_min_delta`` setting.\n* Fixed broken packing in ``setup.py``.\n* Storage manager methods now use extensive logging.\n* Documentation moved to 'alabaster' theme and content extended.\n* Remove usage of ``future.builtins.str``.\n* Adjusted ``release`` make target.\n\n0.0.2 (2016-04-07)\n------------------\n* First release on PyPi\n* Improved documentation\n* Support for *ongoing facts*.\n* Updated requirements\n\n0.0.1 (2016-04-03)\n---------------------\n* First release on github", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/elbenfreund/hamsterlib", "keywords": "hamsterlib", "license": "GPL3", "maintainer": "", "maintainer_email": "", "name": "hamsterlib", "package_url": "https://pypi.org/project/hamsterlib/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/hamsterlib/", "project_urls": { "Homepage": "https://github.com/elbenfreund/hamsterlib" }, "release_url": "https://pypi.org/project/hamsterlib/0.1.0/", "requires_dist": [ "sqlalchemy", "icalendar", "future" ], "requires_python": "", "summary": "A library for common timetracking functionality.", "version": "0.1.0" }, "last_serial": 2074548, "releases": { "0.0.2": [ { "comment_text": "", "digests": { "md5": "1de16685c241dc2ded1d7fc574688b09", "sha256": "8abb173dd276ab1f10d124e739aa2477cad3f9898ee9a8220d6a26fb6a1b38f3" }, "downloads": -1, "filename": "hamsterlib-0.0.2-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "1de16685c241dc2ded1d7fc574688b09", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 23274, "upload_time": "2016-04-07T14:34:25", "url": "https://files.pythonhosted.org/packages/f7/a4/8b8d38705abd4c7fdaa543cf87b62d7b5d9e47caa753e6adaca9cef35f15/hamsterlib-0.0.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "94c49041b80eb7e2bc228efe2a556839", "sha256": "1a567baaf0efaa8bb32da5cb323ef140731e101030a14c2757af497c2fbc7458" }, "downloads": -1, "filename": "hamsterlib-0.0.2.tar.gz", "has_sig": true, "md5_digest": "94c49041b80eb7e2bc228efe2a556839", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 59416, "upload_time": "2016-04-07T14:34:45", "url": "https://files.pythonhosted.org/packages/4a/f6/1974cd4aefbf69e1485cfcc9eeacc82681f1e21732f11c1154dd28bae113/hamsterlib-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "749a0c48cffdb05937b0be42f921eef3", "sha256": "c6d8f3fa505706b3f4079d46bafcd711156cef203d4258f66d0b6e2bcdd82bfc" }, "downloads": -1, "filename": "hamsterlib-0.0.3-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "749a0c48cffdb05937b0be42f921eef3", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 32489, "upload_time": "2016-04-08T18:32:31", "url": "https://files.pythonhosted.org/packages/7a/7b/e620183d500df88a9824edf05909c651be6986702fb534d5123ad24ab90d/hamsterlib-0.0.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5cbe42cbc496b198ffac6d09d5559068", "sha256": "2c6b4b658742e055c38a2ad1ee4af79379f5a77eea94d049cd6e802928ebba05" }, "downloads": -1, "filename": "hamsterlib-0.0.3.tar.gz", "has_sig": true, "md5_digest": "5cbe42cbc496b198ffac6d09d5559068", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 83918, "upload_time": "2016-04-08T18:34:21", "url": "https://files.pythonhosted.org/packages/e3/ca/32115886ed529ed5d81451b4c4fc4b4f34f83cfee5e357d9b21b52585b2b/hamsterlib-0.0.3.tar.gz" } ], "0.1.0": [ { "comment_text": "", "digests": { "md5": "590e56d95778df55d56b324bb37a05d9", "sha256": "2760737a70950bc80adcaf2636a04aa0fd0631122919858ccc47113f450af8fd" }, "downloads": -1, "filename": "hamsterlib-0.1.0-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "590e56d95778df55d56b324bb37a05d9", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 39029, "upload_time": "2016-04-20T17:24:15", "url": "https://files.pythonhosted.org/packages/1d/3c/b8b051f5139a608f212541539f6753c1b17a54a820cc0780019eb458da02/hamsterlib-0.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f134025dcf3970cdf6a5d0a3ec39de14", "sha256": "e6af8921c48f5f7e979e4eb5e5c3c06a1275e9bc878ee99693efec6a77bf09a3" }, "downloads": -1, "filename": "hamsterlib-0.1.0.tar.gz", "has_sig": true, "md5_digest": "f134025dcf3970cdf6a5d0a3ec39de14", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 85428, "upload_time": "2016-04-20T17:25:15", "url": "https://files.pythonhosted.org/packages/43/29/187358ce50c4cd353b45e70bccb70ab31d51f33ca640d5c62d918e5be372/hamsterlib-0.1.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "590e56d95778df55d56b324bb37a05d9", "sha256": "2760737a70950bc80adcaf2636a04aa0fd0631122919858ccc47113f450af8fd" }, "downloads": -1, "filename": "hamsterlib-0.1.0-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "590e56d95778df55d56b324bb37a05d9", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 39029, "upload_time": "2016-04-20T17:24:15", "url": "https://files.pythonhosted.org/packages/1d/3c/b8b051f5139a608f212541539f6753c1b17a54a820cc0780019eb458da02/hamsterlib-0.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f134025dcf3970cdf6a5d0a3ec39de14", "sha256": "e6af8921c48f5f7e979e4eb5e5c3c06a1275e9bc878ee99693efec6a77bf09a3" }, "downloads": -1, "filename": "hamsterlib-0.1.0.tar.gz", "has_sig": true, "md5_digest": "f134025dcf3970cdf6a5d0a3ec39de14", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 85428, "upload_time": "2016-04-20T17:25:15", "url": "https://files.pythonhosted.org/packages/43/29/187358ce50c4cd353b45e70bccb70ab31d51f33ca640d5c62d918e5be372/hamsterlib-0.1.0.tar.gz" } ] }