{ "info": { "author": "Ambient Innovation GmbH", "author_email": "hello@ambient-innovation.com", "bugtrack_url": null, "classifiers": [], "description": "# Overview:\nThis package contains various useful helper functions. \n\n\n# Installation:\n- Add a requirement to your requirements.txt: \n\n `ai-django-core`\n\n- Add module to `INSTALLED_APPS`:\n\n `ai`\n\n- Run migrations\n\n\n# Contribute\n\n- Clone the project locally\n- Create a new branch for your feature\n- Change the dependency in your requirements.txt to a local (editable) one that points to your local file system:\n ```\n -e /Users/felix/Documents/workspace/ai-django-core\n ``` \n- Ensure the code passes the tests\n- Run: \n\n `python setup.py develop`\n\n- Create a pull request\n\n## Publish to PyPi\n\n- Increment version in main `__init__.py`\n\n- Update `Changelog` in `Readme.md`\n\n- Create pull request / merge to master\n\n- Run:\n\n * Make sure you have all the required packages installed \n `pip install twine wheel`\n * Create a file in your home directory: `~/.pypirc`\n ```\n [distutils]\n index-servers=\n pypi\n testpypi\n\n [pypi]\n repository: https://upload.pypi.org/legacy/\n username: ambient-innovation\n\n [testpypi]\n repository: https://test.pypi.org/legacy/\n username: ambient-innovation\n ```\n * Empty `dist` directory\n * Create distribution \n `python setup.py sdist bdist_wheel`\n * Upload to Test-PyPi \n `twine upload --repository testpypi dist/*`\n * Check at Test-PyPi if it looks nice \n * Upload to real PyPi \n `twine upload dist/*`\n\n# Tests\n\n- Check coverage\n\n `pytest --cov=ai-django-core`\n\n- Run tests\n\n `pytest`\n\n\n# Changelog\n\n* **1.2.7** (2019-07-11)\n * Added email testing class `EmailTestService` to provide a wrapper for better email unittests\n\n* **1.2.6** (2019-07-02)\n * Added helper class `tz_today()` to provide an easy getter for a timezone-aware today\n\n* **1.2.5** (2019-06-25)\n * Added helper class `DateHelper` to provide constants to use in djangos ORM lookup `__week_day`\n\n* **1.2.4** (2019-05-20)\n * More refactoring on `CurrentUserMiddleware` to make it more easy to override internal functions \n\n* **1.2.3** (2019-05-20)\n * Moved `get_current_user` function inside `CurrentUserMiddleware` as a static method to enable devs to override it \n\n* **1.2.2** (2019-04-05)\n * Updated deployment documentation\n * Added markdown support to Readme file\n\n* **1.2.1** (2019-03-25)\n * Fixed bug causing `CommonInfo` middleware to not set `lastmodified_by` on object creation\n\n* **1.2.0** (2019-03-19)\n * Added `CommonInfo` middleware\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://gitlab.ambient-innovation.com/ai/ai-django-core.git", "keywords": "", "license": "The MIT License (MIT)", "maintainer": "", "maintainer_email": "", "name": "ai-django-core", "package_url": "https://pypi.org/project/ai-django-core/", "platform": "", "project_url": "https://pypi.org/project/ai-django-core/", "project_urls": { "Homepage": "https://gitlab.ambient-innovation.com/ai/ai-django-core.git" }, "release_url": "https://pypi.org/project/ai-django-core/1.2.7/", "requires_dist": [ "django-crispy-forms (>=1.4.0)", "Django (>=1.7.0)", "bleach (>=1.4.2)", "python-dateutil (>=2.5.3)", "future (>=0.16)", "freezegun", "pytest-cov", "pytest-django", "mock" ], "requires_python": "", "summary": "Lots of helper functions and useful widgets.", "version": "1.2.7" }, "last_serial": 5522120, "releases": { "1.1.4": [ { "comment_text": "", "digests": { "md5": "15efcf28f6694873b3daf7a8465dd591", "sha256": "0bdcb53c21a71c83b5000af792517b858436f36bbc6a2a2f8535d71df504e4ea" }, "downloads": -1, "filename": "ai-django-core-1.1.4.tar.gz", "has_sig": false, "md5_digest": "15efcf28f6694873b3daf7a8465dd591", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14001, "upload_time": "2018-01-02T12:50:42", "url": "https://files.pythonhosted.org/packages/e0/04/ae0420ed502d6066612f4f42ab77619e91cf3fe65676a7909ff97e116503/ai-django-core-1.1.4.tar.gz" } ], "1.1.5": [ { "comment_text": "", "digests": { "md5": "b08c9dba9cd1b7879853a52b67b53854", "sha256": "c6a85cd154032208333887b374ee0d598f1f404e10033ee14b2491a8a1a0472d" }, "downloads": -1, "filename": "ai-django-core-1.1.5.tar.gz", "has_sig": false, "md5_digest": "b08c9dba9cd1b7879853a52b67b53854", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13985, "upload_time": "2018-02-02T15:48:16", "url": "https://files.pythonhosted.org/packages/ee/0c/1306387aea1f4418efd0692b6cfc70a1c580faaef6dfd4788a704d0ed635/ai-django-core-1.1.5.tar.gz" } ], "1.1.7": [ { "comment_text": "", "digests": { "md5": "e52dda53b0417c6a0e18669a38413ca6", "sha256": "d69dd3c2ff8cfbf41f0ad36afca028ae721010429a6f305aa9afee2c987cf8af" }, "downloads": -1, "filename": "ai-django-core-1.1.7.tar.gz", "has_sig": false, "md5_digest": "e52dda53b0417c6a0e18669a38413ca6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14003, "upload_time": "2018-05-08T10:32:46", "url": "https://files.pythonhosted.org/packages/40/4a/aa6a034fae6b706f4b1d1e229ae0d301ffe2b0fefaa528d59e922c3c6d43/ai-django-core-1.1.7.tar.gz" } ], "1.1.8": [ { "comment_text": "", "digests": { "md5": "7b3916b0f316383d6be97b2e01ded667", "sha256": "5a336456f1dc07c789ba834d039ac95112a4d61f8ccb22e954fdb48da3b683fd" }, "downloads": -1, "filename": "ai_django_core-1.1.8-py3.6.egg", "has_sig": false, "md5_digest": "7b3916b0f316383d6be97b2e01ded667", "packagetype": "bdist_egg", "python_version": "3.6", "requires_python": null, "size": 56819, "upload_time": "2019-04-05T09:47:53", "url": "https://files.pythonhosted.org/packages/c3/bb/540b14d745ed8145ebdde1a957c94a10832a70e045e9b63a5a6cde40c11b/ai_django_core-1.1.8-py3.6.egg" }, { "comment_text": "", "digests": { "md5": "3f0c6aa5d8fe60eba15aee012fe35ceb", "sha256": "773b6464dece15a9cc6778ca6f47061cd7e77371fe740b565c6f2a51188546e3" }, "downloads": -1, "filename": "ai-django-core-1.1.8.tar.gz", "has_sig": false, "md5_digest": "3f0c6aa5d8fe60eba15aee012fe35ceb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15193, "upload_time": "2018-08-24T12:00:28", "url": "https://files.pythonhosted.org/packages/ce/b2/e791d52de560be3c2c24dc39e3528aea150be1fd12c51c58b06ffe677b7d/ai-django-core-1.1.8.tar.gz" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "4b4d48ca84cc44ddce830765ac0a455f", "sha256": "02a2576543e46513086e686aaeca7a1dee66d90d3cae89ece88427cbd08664bf" }, "downloads": -1, "filename": "ai-django-core-1.2.0.tar.gz", "has_sig": false, "md5_digest": "4b4d48ca84cc44ddce830765ac0a455f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17663, "upload_time": "2019-03-19T12:15:22", "url": "https://files.pythonhosted.org/packages/c4/c3/b53079b2607d058534b440810dd45363fd8eaba2e3c8c5f61f2f56a32d4a/ai-django-core-1.2.0.tar.gz" } ], "1.2.1": [ { "comment_text": "", "digests": { "md5": "9e16971b70f9ca2e5c6661d2dae1875b", "sha256": "d327649c59b09b7497400040b180bbcac4f145f4feed4ac8396093da2f586676" }, "downloads": -1, "filename": "ai-django-core-1.2.1.tar.gz", "has_sig": false, "md5_digest": "9e16971b70f9ca2e5c6661d2dae1875b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17673, "upload_time": "2019-03-25T15:45:15", "url": "https://files.pythonhosted.org/packages/94/29/61959511d4520e3370d4bf3a3a95b21af1a10d8b32d8a77bcca89a826d07/ai-django-core-1.2.1.tar.gz" } ], "1.2.2": [ { "comment_text": "", "digests": { "md5": "3ecef78af7f637865ecbc4e7f1816ae6", "sha256": "0d8633fcf5d6048125d15ebbed3bb317c0d9c42d29dbf685229371be3afbf410" }, "downloads": -1, "filename": "ai_django_core-1.2.2-py3-none-any.whl", "has_sig": false, "md5_digest": "3ecef78af7f637865ecbc4e7f1816ae6", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 28530, "upload_time": "2019-04-05T09:47:47", "url": "https://files.pythonhosted.org/packages/8c/d0/badeb4f637f5316120f906a0af7651fbff9b638b497f1186d692927b7223/ai_django_core-1.2.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "392195e63a2c0eae9c4836fafd6fffa5", "sha256": "d787a83920f16c3c3658b178af6c843181b6894f0c18e4fbad844ba2bfb89616" }, "downloads": -1, "filename": "ai-django-core-1.2.2.tar.gz", "has_sig": false, "md5_digest": "392195e63a2c0eae9c4836fafd6fffa5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18253, "upload_time": "2019-04-05T09:47:52", "url": "https://files.pythonhosted.org/packages/9e/9b/c213d59d83c1882bc641fdd4b6612fc363bea1802527556e5c19b19145fa/ai-django-core-1.2.2.tar.gz" } ], "1.2.3": [ { "comment_text": "", "digests": { "md5": "19e6e1d6f8b1a22d4382f9750a20d73e", "sha256": "6a47b56d2bea9a613753b7b1ea0ac1fd042f2212b13ce4ff4a89241bb515256a" }, "downloads": -1, "filename": "ai_django_core-1.2.3-py3-none-any.whl", "has_sig": false, "md5_digest": "19e6e1d6f8b1a22d4382f9750a20d73e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 28628, "upload_time": "2019-05-20T09:40:31", "url": "https://files.pythonhosted.org/packages/97/60/285554df9ae28bb989123802a41756d2d34c8f09a5a3b985430ff2725f90/ai_django_core-1.2.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "924eecec92962ae09bd661ba05a20ddf", "sha256": "821a75d7b8f455c72583ffdcea65cd7008c0fe4213b832626017d71be1e65ac6" }, "downloads": -1, "filename": "ai-django-core-1.2.3.tar.gz", "has_sig": false, "md5_digest": "924eecec92962ae09bd661ba05a20ddf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18344, "upload_time": "2019-05-20T09:40:33", "url": "https://files.pythonhosted.org/packages/45/7e/41102d9b6d775a2cdf09ab231f5f015e9d8b430dcc1b21ddc377135c32b3/ai-django-core-1.2.3.tar.gz" } ], "1.2.4": [ { "comment_text": "", "digests": { "md5": "d361132621d1852780ae582d5ea26f64", "sha256": "66ede7fc093202590a6af5c7d0b31bc3c071b9d9ab88020020161c7ac1e1c7e5" }, "downloads": -1, "filename": "ai_django_core-1.2.4-py3-none-any.whl", "has_sig": false, "md5_digest": "d361132621d1852780ae582d5ea26f64", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 28837, "upload_time": "2019-05-22T11:02:18", "url": "https://files.pythonhosted.org/packages/c6/86/cbf288fc39405299ae4dc3504b08378218bfe58c8ec9289a84d037cc95a0/ai_django_core-1.2.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2a9f0eb98adf7a999fbd1b053bf1f58c", "sha256": "03505f96051237e0886d76e729f14d283c73213159555abca0b78bd79052bee0" }, "downloads": -1, "filename": "ai-django-core-1.2.4.tar.gz", "has_sig": false, "md5_digest": "2a9f0eb98adf7a999fbd1b053bf1f58c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18553, "upload_time": "2019-05-22T11:02:20", "url": "https://files.pythonhosted.org/packages/ae/f5/792492a27779c1b571b27367b599adbee810d69c8ed5870d650d4127248b/ai-django-core-1.2.4.tar.gz" } ], "1.2.5": [ { "comment_text": "", "digests": { "md5": "a919bb82f6069a91bcec0cd2125f09e0", "sha256": "cc3d1e9e74f2a8d9c176532ad7ebe2942abae5bc3941f8cf123fe5b51d4780e9" }, "downloads": -1, "filename": "ai_django_core-1.2.5-py3-none-any.whl", "has_sig": false, "md5_digest": "a919bb82f6069a91bcec0cd2125f09e0", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 29083, "upload_time": "2019-06-25T13:24:07", "url": "https://files.pythonhosted.org/packages/35/ff/c1ed05b4ebf1cbd7e05ac34b9e6ad400ddf0cc75189725cf0f77eed412e7/ai_django_core-1.2.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b45f3a29cb42304ec58dbac57b6c5e69", "sha256": "201c1fe7af173fe49c49a8d95fa1c0e88c2a5af26176a61756067ecdc024b164" }, "downloads": -1, "filename": "ai-django-core-1.2.5.tar.gz", "has_sig": false, "md5_digest": "b45f3a29cb42304ec58dbac57b6c5e69", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18800, "upload_time": "2019-06-25T13:24:09", "url": "https://files.pythonhosted.org/packages/75/98/83cd0c0298c15d8d841f35abd1546a7d2ae5b2b93ea1e94eda735ae31b02/ai-django-core-1.2.5.tar.gz" } ], "1.2.6": [ { "comment_text": "", "digests": { "md5": "8d4061e9102148039249ebedaa09989e", "sha256": "d9bfffeb23147bdc1d3dcb6eeb61d7e4767468d276d3fe867dfc93475c0cfea9" }, "downloads": -1, "filename": "ai_django_core-1.2.6-py3-none-any.whl", "has_sig": false, "md5_digest": "8d4061e9102148039249ebedaa09989e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 29582, "upload_time": "2019-07-02T14:08:12", "url": "https://files.pythonhosted.org/packages/da/4c/6d11ddfccd1f16d76d59dd882ba7b47a91d68f927a0dd1bff6ee9ca4e86b/ai_django_core-1.2.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "04ab03d819cdb69200009aa81f53f63f", "sha256": "4225b51aef57a0139a6c9795a702a3329a0a53bc118331e7c539db0816cddd26" }, "downloads": -1, "filename": "ai-django-core-1.2.6.tar.gz", "has_sig": false, "md5_digest": "04ab03d819cdb69200009aa81f53f63f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19242, "upload_time": "2019-07-02T14:08:14", "url": "https://files.pythonhosted.org/packages/94/8f/5f13740061601fb4a4add308dffad027225242a5f44381f0548dbbe7963c/ai-django-core-1.2.6.tar.gz" } ], "1.2.7": [ { "comment_text": "", "digests": { "md5": "f0ad0b52588a8b014227c006b7ace034", "sha256": "cefa8f3af70e49ec3d2b445c3fb60488f1a54dbd8201dbaa36282c46b0b786a3" }, "downloads": -1, "filename": "ai_django_core-1.2.7-py3-none-any.whl", "has_sig": false, "md5_digest": "f0ad0b52588a8b014227c006b7ace034", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 32956, "upload_time": "2019-07-12T08:13:11", "url": "https://files.pythonhosted.org/packages/19/c4/8e8f44f62d341b9115287485bdf0a5f359fac1d14ebd41ebafc4c84cf197/ai_django_core-1.2.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b36d83ec2c89d67a4df6e46a36b1fe25", "sha256": "be97052143a6c9d681255b698d1cb558e3b8fc698f32ac1dc58c47ad6e4b4647" }, "downloads": -1, "filename": "ai-django-core-1.2.7.tar.gz", "has_sig": false, "md5_digest": "b36d83ec2c89d67a4df6e46a36b1fe25", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22126, "upload_time": "2019-07-12T08:13:12", "url": "https://files.pythonhosted.org/packages/f4/a0/a284097e5ca80ce26b0249108a4f59f2b6def9b6e904749338511e612ce4/ai-django-core-1.2.7.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "f0ad0b52588a8b014227c006b7ace034", "sha256": "cefa8f3af70e49ec3d2b445c3fb60488f1a54dbd8201dbaa36282c46b0b786a3" }, "downloads": -1, "filename": "ai_django_core-1.2.7-py3-none-any.whl", "has_sig": false, "md5_digest": "f0ad0b52588a8b014227c006b7ace034", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 32956, "upload_time": "2019-07-12T08:13:11", "url": "https://files.pythonhosted.org/packages/19/c4/8e8f44f62d341b9115287485bdf0a5f359fac1d14ebd41ebafc4c84cf197/ai_django_core-1.2.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b36d83ec2c89d67a4df6e46a36b1fe25", "sha256": "be97052143a6c9d681255b698d1cb558e3b8fc698f32ac1dc58c47ad6e4b4647" }, "downloads": -1, "filename": "ai-django-core-1.2.7.tar.gz", "has_sig": false, "md5_digest": "b36d83ec2c89d67a4df6e46a36b1fe25", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22126, "upload_time": "2019-07-12T08:13:12", "url": "https://files.pythonhosted.org/packages/f4/a0/a284097e5ca80ce26b0249108a4f59f2b6def9b6e904749338511e612ce4/ai-django-core-1.2.7.tar.gz" } ] }