{ "info": { "author": "Raratiru", "author_email": "info@musicaloffering.gr", "bugtrack_url": null, "classifiers": [ "Development Status :: 1 - Planning", "License :: OSI Approved :: BSD License", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "[![Build Status](https://github.com/raratiru/thepysec/actions/workflows/python-package.yml/badge.svg)](https://github.com/raratiru/thepysec/actions)\n[![Coverage Status](https://coveralls.io/repos/github/raratiru/thepysec/badge.svg?branch=master&service=github)](https://coveralls.io/github/raratiru/thepysec?branch=master)\n\n\nA collection of tools that support a busy project based on Python >= 3.6.\n\nJohn\n----\n\nJohn is the Battler. He will serve the necessary files needed to run thepysec.\n\nLia\n---\n\nLia is here to take a detailed look at your strings.\n\n* `pop_wsp`: Remove extra whitespace.\n* `pre_slug`: Prepare a string to become a wise slug.\n * 'r33a!bc' -> 'r 33 abc'.\n* `fast_pre_slug`: Prepare a string to become a fast slug.\n * 'r33a!bc' -> 'r 3 3 a bc'.\n* `cap_sentence`: Carefully capitalize first letter and remove white space\n * \"O'Connor is        INVITED to UK\" -> \"O'Connor Is Invited To UK\"\n\nMatina\n------\n\nMatina performs operations on django model instances\n\n* `pop_i18n_wsp`: Apply `pop_wsp` for a list of fields in a given model instance.\n\nMyriam\n------\n\nMyriam a mathematical kind of jelly roll.\n\n* `validate_overlap`: Receives a list of DateRange or DateTimeRange and examines if contents overlap.\n\n\nThanos\n------\n\nThanos is a Django test assistant\n\n* `get_formset_alive`: Receives a formset class with data dictionary and returns a formset instance.\n\n\nOtto\n----\n\nA pythonista who slightly bends the borders of the language\n\n* `deep_getattr`: Dives in an object by performing successive getattrs for each word in a dotted string.\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://github.com/raratiru/thepysec", "keywords": "", "license": "BSD 3-Clause License", "maintainer": "", "maintainer_email": "", "name": "thepysec", "package_url": "https://pypi.org/project/thepysec/", "platform": "", "project_url": "https://pypi.org/project/thepysec/", "project_urls": { "Homepage": "https://github.com/raratiru/thepysec" }, "release_url": "https://pypi.org/project/thepysec/2.1/", "requires_dist": [ "unidecode", "pytest ; extra == 'dev'", "pytest-cov ; extra == 'dev'", "ipdb ; extra == 'dev'", "psycopg2-binary ; extra == 'dev'" ], "requires_python": ">=3.6", "summary": "Python secretaries you call at will, for instant py-relief.", "version": "2.1", "yanked": false, "yanked_reason": null }, "last_serial": 13047949, "releases": { "1.0a2": [ { "comment_text": "", "digests": { "md5": "ca54025778f840d52de971e5e5aef6bd", "sha256": "2d5933e4902639d2fc546da55a55a29a8e1fe59f0d5d96eacd55424f969c428d" }, "downloads": -1, "filename": "thepysec-1.0a2-py3-none-any.whl", "has_sig": false, "md5_digest": "ca54025778f840d52de971e5e5aef6bd", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 17200, "upload_time": "2019-01-26T19:58:27", "upload_time_iso_8601": "2019-01-26T19:58:27.020981Z", "url": "https://files.pythonhosted.org/packages/7d/8b/e1bcf7feacfee0285d3668e2aef8db1aff9281c1bf0470a7b4e3bea4ff94/thepysec-1.0a2-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "53b4b08e1ddc86f65a061b4d98bf911f", "sha256": "eff5f0e34cecdbf768cef06cb36b2cec47d360f0b54193f59c036eb926169b5b" }, "downloads": -1, "filename": "thepysec-1.0a2.tar.gz", "has_sig": false, "md5_digest": "53b4b08e1ddc86f65a061b4d98bf911f", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 3863, "upload_time": "2019-01-26T19:58:28", "upload_time_iso_8601": "2019-01-26T19:58:28.206458Z", "url": "https://files.pythonhosted.org/packages/9b/b5/f884da9d951a6191f9863e79f49ba479cedbdf64a2bd2b65f706f7702adc/thepysec-1.0a2.tar.gz", "yanked": false, "yanked_reason": null } ], "1.1a1": [ { "comment_text": "", "digests": { "md5": "6cfb61f376a654083248ad92639967bc", "sha256": "3cd72c3478cb2026ab7f7f088d74097857481627a0321c52b946b64d13a46732" }, "downloads": -1, "filename": "thepysec-1.1a1-py3-none-any.whl", "has_sig": false, "md5_digest": "6cfb61f376a654083248ad92639967bc", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 18082, "upload_time": "2019-03-16T14:30:21", "upload_time_iso_8601": "2019-03-16T14:30:21.184583Z", "url": "https://files.pythonhosted.org/packages/91/44/192c287332aab97a5ee5b9823fac4bc8a1b71697333d7f91ff24596a5cd0/thepysec-1.1a1-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "bff786eee3c2e8cdc1826eb33ca5f804", "sha256": "953e9034abd14c088c33b4bbe0390688890a96cc5a1e675146f5a3d3144a7467" }, "downloads": -1, "filename": "thepysec-1.1a1.tar.gz", "has_sig": false, "md5_digest": "bff786eee3c2e8cdc1826eb33ca5f804", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 4230, "upload_time": "2019-03-16T14:30:22", "upload_time_iso_8601": "2019-03-16T14:30:22.605599Z", "url": "https://files.pythonhosted.org/packages/36/cc/89073ab22bd67d9d082d1016a7ad82c9e11c3b990c2dc6e17487ef3ceea0/thepysec-1.1a1.tar.gz", "yanked": false, "yanked_reason": null } ], "1.1a2": [ { "comment_text": "", "digests": { "md5": "98ceedb21e24d564e843575fee6271fe", "sha256": "6385e5908e8a378b3a78ec371600aef88f5f4dd432c126c919d232b9a40be86d" }, "downloads": -1, "filename": "thepysec-1.1a2-py3-none-any.whl", "has_sig": false, "md5_digest": "98ceedb21e24d564e843575fee6271fe", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 18368, "upload_time": "2019-05-31T19:48:29", "upload_time_iso_8601": "2019-05-31T19:48:29.410827Z", "url": "https://files.pythonhosted.org/packages/e5/65/e6b741691409be36626516bf8f7cae3f1a2f27be2dc1e006fc7e5def2275/thepysec-1.1a2-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "da1bfc2f4f5a3c4b3eac8587dd2a0da1", "sha256": "3eae9d719cf6da03ede50e0cc828e741611d074c8b6b85a132834bc43d976cb1" }, "downloads": -1, "filename": "thepysec-1.1a2.tar.gz", "has_sig": false, "md5_digest": "da1bfc2f4f5a3c4b3eac8587dd2a0da1", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 4479, "upload_time": "2019-05-31T19:48:31", "upload_time_iso_8601": "2019-05-31T19:48:31.026417Z", "url": "https://files.pythonhosted.org/packages/b8/48/e9bc5af1d381dd18f456f008f99d712f7beb7993ceb8003508e229adf225/thepysec-1.1a2.tar.gz", "yanked": false, "yanked_reason": null } ], "1.1a3": [ { "comment_text": "", "digests": { "md5": "9c502adac8448d7f31af49148aaea609", "sha256": "746109a2be6d61cc167df169a4b23176cdb90c7eadeb5f3beee36ea7ee002bc5" }, "downloads": -1, "filename": "thepysec-1.1a3-py3-none-any.whl", "has_sig": false, "md5_digest": "9c502adac8448d7f31af49148aaea609", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 18829, "upload_time": "2019-06-01T10:40:36", "upload_time_iso_8601": "2019-06-01T10:40:36.766126Z", "url": "https://files.pythonhosted.org/packages/3a/12/d55eede266141f0894f26ba9bce63e47307232187dc9ede18b3d365a98e1/thepysec-1.1a3-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "b6e06565859fd3f414f3cf8b768ddb42", "sha256": "c09408af0d9f72a40a5675d0301698aa4dfe59caa97f2c5c6a928c0a2a8e413a" }, "downloads": -1, "filename": "thepysec-1.1a3.tar.gz", "has_sig": false, "md5_digest": "b6e06565859fd3f414f3cf8b768ddb42", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 4973, "upload_time": "2019-06-01T10:40:38", "upload_time_iso_8601": "2019-06-01T10:40:38.414903Z", "url": "https://files.pythonhosted.org/packages/b6/92/c2335a2b81f856181fa3e563c2752d97bdcc7ddc9f51c6d6ac787f83a97b/thepysec-1.1a3.tar.gz", "yanked": false, "yanked_reason": null } ], "1.1a4": [ { "comment_text": "", "digests": { "md5": "80f99957a6ac5e9b99cec6ea5e756ca3", "sha256": "6baf74f208c11a6e9183bcb125d5fef2ca2df74107539b9938829b36104728eb" }, "downloads": -1, "filename": "thepysec-1.1a4-py3-none-any.whl", "has_sig": false, "md5_digest": "80f99957a6ac5e9b99cec6ea5e756ca3", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 9056, "upload_time": "2019-10-27T13:06:56", "upload_time_iso_8601": "2019-10-27T13:06:56.367823Z", "url": "https://files.pythonhosted.org/packages/38/9a/3d14da255806f409afb2ed3b55a040158653fef7100e2f216fd07ae91c79/thepysec-1.1a4-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "fa61821ad41a5ac47d971b1e6d4e9d75", "sha256": "745a9fa6bcae97c47f02e3ee9bdc10f443b8da9052ecb31598b4254bdaa0a322" }, "downloads": -1, "filename": "thepysec-1.1a4.tar.gz", "has_sig": false, "md5_digest": "fa61821ad41a5ac47d971b1e6d4e9d75", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 7165, "upload_time": "2019-10-27T13:06:58", "upload_time_iso_8601": "2019-10-27T13:06:58.065338Z", "url": "https://files.pythonhosted.org/packages/39/97/cd6e85850260d70071181155b12028da1cb3fccdb6db73e4879a4641c7f4/thepysec-1.1a4.tar.gz", "yanked": false, "yanked_reason": null } ], "2.0": [ { "comment_text": "", "digests": { "md5": "d8272e59c7e589266a1cd50f70ca4883", "sha256": "67d1a823073451a59fa63932e7aa06371e02bbdef3bdac5a6d625a16f7d5606e" }, "downloads": -1, "filename": "thepysec-2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "d8272e59c7e589266a1cd50f70ca4883", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 8961, "upload_time": "2019-10-27T22:43:56", "upload_time_iso_8601": "2019-10-27T22:43:56.419581Z", "url": "https://files.pythonhosted.org/packages/29/18/052c8d2798089c82273c86a1bc467d52957e114d3470e7e0dcfc02eff2d6/thepysec-2.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "b727fed6e22ccc26f7333685956c339e", "sha256": "49d68272a16fd348a71a7e8067740779d16512cce0465b10cd7d73fa4b6b7f59" }, "downloads": -1, "filename": "thepysec-2.0.tar.gz", "has_sig": false, "md5_digest": "b727fed6e22ccc26f7333685956c339e", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 7094, "upload_time": "2019-10-27T22:43:57", "upload_time_iso_8601": "2019-10-27T22:43:57.732709Z", "url": "https://files.pythonhosted.org/packages/2b/21/8b7b87934a72f52208c716f66370f29fccb41625fbc74201af67068e729c/thepysec-2.0.tar.gz", "yanked": false, "yanked_reason": null } ], "2.0.1": [ { "comment_text": "", "digests": { "md5": "7107d77b0d069bb7b5851cdde49e9685", "sha256": "c16944db29a0763502280667ee5aa7336195b779c512251a24e899b79736a1c8" }, "downloads": -1, "filename": "thepysec-2.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "7107d77b0d069bb7b5851cdde49e9685", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 9452, "upload_time": "2019-10-28T17:11:43", "upload_time_iso_8601": "2019-10-28T17:11:43.439242Z", "url": "https://files.pythonhosted.org/packages/a3/e2/7a521ca912780afd18676ed15881eed7eeb816ee3b023288f90c00c0cbf6/thepysec-2.0.1-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "30868a356a5b823238d437c47ec56259", "sha256": "a1b64c8e1901bcf137a2b5b86d08917ea02086e8085905e21d4e5ff17859d96f" }, "downloads": -1, "filename": "thepysec-2.0.1.tar.gz", "has_sig": false, "md5_digest": "30868a356a5b823238d437c47ec56259", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 7452, "upload_time": "2019-10-28T17:11:45", "upload_time_iso_8601": "2019-10-28T17:11:45.854611Z", "url": "https://files.pythonhosted.org/packages/87/da/93a61ed9c8b6dc8d0f0f122db02c78411780187683a0b10ab8909ab0618c/thepysec-2.0.1.tar.gz", "yanked": false, "yanked_reason": null } ], "2.0.2": [ { "comment_text": "", "digests": { "md5": "45a61ea086e889c0f0e7f0d5465a5ec1", "sha256": "1aaf91c86a54bb5e3780c21649e884dff159dee635d69d9bfe540d3a13a2372c" }, "downloads": -1, "filename": "thepysec-2.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "45a61ea086e889c0f0e7f0d5465a5ec1", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 9704, "upload_time": "2020-03-29T22:59:51", "upload_time_iso_8601": "2020-03-29T22:59:51.920480Z", "url": "https://files.pythonhosted.org/packages/42/8c/036a3c0f27f95c4f6e9819af44d23d3041e605c3d15863b66c656f893dcb/thepysec-2.0.2-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "1958b9dbf8dd2f01ee1fd3d262a4e830", "sha256": "fc43b3948357773d6e24d13c0435526a8e73fbbc8070649eba08ed3f6c9783f6" }, "downloads": -1, "filename": "thepysec-2.0.2.tar.gz", "has_sig": false, "md5_digest": "1958b9dbf8dd2f01ee1fd3d262a4e830", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 7787, "upload_time": "2020-03-29T22:59:55", "upload_time_iso_8601": "2020-03-29T22:59:55.458412Z", "url": "https://files.pythonhosted.org/packages/bc/62/ce4cb351df1bf99ce7a68a1949a9b01fd6d352462b4f104355f2bb9b2a02/thepysec-2.0.2.tar.gz", "yanked": false, "yanked_reason": null } ], "2.0.3": [ { "comment_text": "", "digests": { "md5": "228db76fc42db5f236b0569f2ef1b209", "sha256": "d745bea4182b8307ecb4242346d96c21ac20af053fc4de64aa7da2fd7d088afc" }, "downloads": -1, "filename": "thepysec-2.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "228db76fc42db5f236b0569f2ef1b209", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 9736, "upload_time": "2021-12-29T16:34:50", "upload_time_iso_8601": "2021-12-29T16:34:50.643248Z", "url": "https://files.pythonhosted.org/packages/0b/78/250ae0b4917de818078c79d20d5d41c6195a319671bda639360a3d789ae0/thepysec-2.0.3-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "89931de98478e5683fccb2f522068db8", "sha256": "d352f4bbf88c56a5c259bbde695535293c719e10b75f8c72b3681a90be9b2e8b" }, "downloads": -1, "filename": "thepysec-2.0.3.tar.gz", "has_sig": false, "md5_digest": "89931de98478e5683fccb2f522068db8", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 8498, "upload_time": "2021-12-29T16:34:52", "upload_time_iso_8601": "2021-12-29T16:34:52.467188Z", "url": "https://files.pythonhosted.org/packages/63/96/1927524b5ac21b0745fe0e8db08621f19f0107b0f2701cedb6d3d429b086/thepysec-2.0.3.tar.gz", "yanked": false, "yanked_reason": null } ], "2.1": [ { "comment_text": "", "digests": { "md5": "2894dd16576dd8e3d1a0e08c443b65c6", "sha256": "6536e1bb55956f846bf6bb6f6c9d437ef7e690506355c351da50d4d033698def" }, "downloads": -1, "filename": "thepysec-2.1-py3-none-any.whl", "has_sig": false, "md5_digest": "2894dd16576dd8e3d1a0e08c443b65c6", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 10218, "upload_time": "2022-03-01T17:23:16", "upload_time_iso_8601": "2022-03-01T17:23:16.316244Z", "url": "https://files.pythonhosted.org/packages/a8/d9/09d9e422381ac5f77c8992575fc2aa1f69691655cf34466cd56d1228c769/thepysec-2.1-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "d86a289923cd7f7c5996620b4cf10430", "sha256": "faf15280f35e68fde2d71858d73672870e303235b0179eff9914617c871f502b" }, "downloads": -1, "filename": "thepysec-2.1.tar.gz", "has_sig": false, "md5_digest": "d86a289923cd7f7c5996620b4cf10430", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 8881, "upload_time": "2022-03-01T17:23:18", "upload_time_iso_8601": "2022-03-01T17:23:18.253487Z", "url": "https://files.pythonhosted.org/packages/1f/0d/8cced42717baec5d2d8bfefaba070513d59136f39a109444c11471d898d8/thepysec-2.1.tar.gz", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "2894dd16576dd8e3d1a0e08c443b65c6", "sha256": "6536e1bb55956f846bf6bb6f6c9d437ef7e690506355c351da50d4d033698def" }, "downloads": -1, "filename": "thepysec-2.1-py3-none-any.whl", "has_sig": false, "md5_digest": "2894dd16576dd8e3d1a0e08c443b65c6", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 10218, "upload_time": "2022-03-01T17:23:16", "upload_time_iso_8601": "2022-03-01T17:23:16.316244Z", "url": "https://files.pythonhosted.org/packages/a8/d9/09d9e422381ac5f77c8992575fc2aa1f69691655cf34466cd56d1228c769/thepysec-2.1-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "d86a289923cd7f7c5996620b4cf10430", "sha256": "faf15280f35e68fde2d71858d73672870e303235b0179eff9914617c871f502b" }, "downloads": -1, "filename": "thepysec-2.1.tar.gz", "has_sig": false, "md5_digest": "d86a289923cd7f7c5996620b4cf10430", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 8881, "upload_time": "2022-03-01T17:23:18", "upload_time_iso_8601": "2022-03-01T17:23:18.253487Z", "url": "https://files.pythonhosted.org/packages/1f/0d/8cced42717baec5d2d8bfefaba070513d59136f39a109444c11471d898d8/thepysec-2.1.tar.gz", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }