{ "info": { "author": "Thibaut Vuillemin", "author_email": "contact@thibautvuillemin.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "# nicetypes\n\nAdvanced types for Python3: ImmutableDict and UniqList.\n\n## Examples\n\n### ImmutableDict\n\n#### Usage\n\n```python\nfrom nicetypes import ImmutableDict\nfrozen_dict = ImmutableDict({\"foo\": 1, \"bar\": 2})\nprint(frozen_dict)\n# ImmutableDict({'foo': 1, 'bar': 2})\nfrozen_dict[\"foo\"] = 3\nTraceback (most recent call last):\n File \"\", line 1, in \nTypeError: 'ImmutableDict' object does not support item assignment\n```\n\n\n### UniqList\n\n#### Usage\n\n```python\nfrom nicetypes import UniqList\nunql = UniqList([1, 2, 2, 2, 3, 2])\nprint(unql)\n# UniqList([1, 2, 3])\nunql.append(4)\nunql.append(4)\nprint(unql)\n# UniqList([1, 2, 3, 4])\n```\n\n## Usinge nicetypes\n\n### Prerequisites\n\nThis module is developped on a Fedora 25 machine with Python 3.5.3, but it should theoretically run on **any system with a Python3 interpreter**. Don't hesitate to report any issues if it doesn't work on your platform. However, this module is not intented to work on Python2.\n\n### Installation\n\n#### Pip + Virtualenv (recommended)\n\nFirst, make sure Pip is installed. Linux users should use their package manager. Alternatively, you can follow the [official site documentation](https://pip.pypa.io/en/stable/installing/). Then, make sure virtualenv is installed. Most linux distribution provide a virtualenvwrapper package that make virtualenvs easy-to-use. Otherwise, you might read [this documentation](https://virtualenv.pypa.io/en/stable/).\n\n```bash\nmkvirtualenv -p python3 foobar\nworkon foobar # Should be automatically done by the previous command\npip install nicetypes\n# Later, check for upgrades with\npip install -U nicetypes\n```\n\n#### Pip + admin rights\n\nThis method is similar to the previous one. First, get pip. Then, install nicetypes directly on your system with admin rights instead of installing it in a isolated virtualenv.\n\n```bash\nsudo pip3 install nicetypes\n# Later, check for upgrades with\nsudo pip3 install -U nicetypes\n```\n\n#### Sources download (avoid)\n\nIf you can't use Pip, then you could download the sources directly from Github. However, you should understand that you will need to handle updates and system integration all by yourself if you choose this method.\n\n## Contributing\n\n### Prerequisites\n\n1. Make sure you have the following packages installed:\n - Python3,\n - Git,\n - Virtualenv.\n2. Clone this Github repository and enter the repository.\n3. Create a Python3 virtualenv and activate it.\n4. Install the development dependencies with `pip install -r dev-requirements.txt`\n\n### Style guide\n\nKeep [PEP20](https://www.python.org/dev/peps/pep-0020/#the-zen-of-python) in mind, and use pylint to follow the coding style guide:\n\n```\npylint --rcfile=.pylintrc src/nicetypes\n```\n\n### Unit tests\n\nMake sure that all the code is covered by unit tests. Use a [Given-When-Then](https://github.com/cucumber/cucumber/wiki/Given-When-Then) structure to increase the tests readability. Avoid importing external libraries for the assertions, use the unittest methods instead. Run the tests and check the coverage with:\n\n```\npy.test --verbose --cov=src --cov-fail-under=100\n```\n\n### Continuous integration\n\nThis module use a [Travis pipeline](https://travis-ci.org/tvuillemin/nicetypes) for continuous integration. It performs the following actions when a Git branch is pushed on Github:\n1. check the style guide,\n2. run the unit tests and checking the coverage,\n3. in case of tagged release, deploy to PyPI.\n\n## Authors\n\n- [Thibaut Vuillemin](https://github.com/tvuillemin/)\n\n### Special thanks\n\n- [Balthazar Rouberol](https://github.com/brouberol)\n- [Guillaume Bouchard](https://github.com/guibou)\n\n## License\n\nThis module is licensed under the MIT License - see the LICENSE file for details.\n\n\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/tvuillemin/nicetypes", "keywords": "class,attribute,boilerplate", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "nicetypes", "package_url": "https://pypi.org/project/nicetypes/", "platform": "", "project_url": "https://pypi.org/project/nicetypes/", "project_urls": { "Homepage": "https://github.com/tvuillemin/nicetypes" }, "release_url": "https://pypi.org/project/nicetypes/0.4.0/", "requires_dist": null, "requires_python": "", "summary": "Advanced types: UniqList and ImmutableDict", "version": "0.4.0" }, "last_serial": 3192996, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "ccb16dd4b51e5885f92a11a0398e89d3", "sha256": "512f6eacf0cee74deb2c9fac3dca7127c065515522fb606f83ce053cece89b75" }, "downloads": -1, "filename": "nicetypes-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "ccb16dd4b51e5885f92a11a0398e89d3", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 4151, "upload_time": "2017-04-29T17:00:25", "url": "https://files.pythonhosted.org/packages/4c/32/bf10759fe1994df5c75ec2132a963570ab395d43a4042e55fb8eb5fea471/nicetypes-0.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e1811bc5d851634a42125f2041382ad7", "sha256": "a0803811b6ec6c9b4ddca2a18640122ecd60785a5b07d4fdc8fcc57dacb04ee4" }, "downloads": -1, "filename": "nicetypes-0.1.0.tar.gz", "has_sig": false, "md5_digest": "e1811bc5d851634a42125f2041382ad7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3591, "upload_time": "2017-04-29T17:00:27", "url": "https://files.pythonhosted.org/packages/76/89/63ddbe72608bb25b5773590a2f9f7899fe59f0fbdd860a39f4b6a1efc318/nicetypes-0.1.0.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "64203db74f6f594b15ae692747217ff5", "sha256": "725512264196f05a04e053d6ac4ce81af310c98c7ffdcda140af1a0acf7bfe81" }, "downloads": -1, "filename": "nicetypes-0.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "64203db74f6f594b15ae692747217ff5", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 4283, "upload_time": "2017-04-30T12:06:46", "url": "https://files.pythonhosted.org/packages/59/11/0ff05ee9ea2fd56beb330e1049e922d0409d75ff0127105b4acbe2c7533c/nicetypes-0.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2b40d583bcca55a4335313b9d30b9638", "sha256": "dea39de86a1cd8af98fe43cdd60479449b720c013e417defe7965ba4f6b43b55" }, "downloads": -1, "filename": "nicetypes-0.2.0.tar.gz", "has_sig": false, "md5_digest": "2b40d583bcca55a4335313b9d30b9638", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8723, "upload_time": "2017-04-30T12:06:48", "url": "https://files.pythonhosted.org/packages/32/c9/e630a09ba7fdf3efdba55746e5b0616f03c63374fb04b0f66a8d0a05588c/nicetypes-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "4cd5e2b9b47ee300749407c21a846977", "sha256": "e8cfc552383d3f726d81c6ee4a69537c5fb1bf8496fb3bbf0ef6100e1e1818da" }, "downloads": -1, "filename": "nicetypes-0.2.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "4cd5e2b9b47ee300749407c21a846977", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 4322, "upload_time": "2017-05-02T20:52:02", "url": "https://files.pythonhosted.org/packages/a6/97/7242c77cefcf4b3d0b3a69e23a3e9b913cbaf857cbaef7ce204aab6d228b/nicetypes-0.2.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "32d3590109b908cbeed52cf48dadc526", "sha256": "7704f76f13569978ccd7d330f25af3c2750ca312fc617c256778f20cfa978ca1" }, "downloads": -1, "filename": "nicetypes-0.2.1.tar.gz", "has_sig": false, "md5_digest": "32d3590109b908cbeed52cf48dadc526", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8803, "upload_time": "2017-05-02T20:52:05", "url": "https://files.pythonhosted.org/packages/d4/b9/fd5fbd293b48548ce0c1233cc47489fb2debbc3657478b9b0f4ff2073cce/nicetypes-0.2.1.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "4b97bdb24a40d74491e2e1bfae5862cd", "sha256": "a7937747deac99c960cb72edc75788caaa322ae83dee5f1e4c04b4d70cdc1067" }, "downloads": -1, "filename": "nicetypes-0.3.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "4b97bdb24a40d74491e2e1bfae5862cd", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 4794, "upload_time": "2017-05-03T21:04:13", "url": "https://files.pythonhosted.org/packages/32/7c/f0046f07e03e32000e7aa5b3c95f0f46709fa1e7af46237b93d589b41fde/nicetypes-0.3.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2f405252da878b078d4a591a6856d703", "sha256": "aad6cd336fae512b19e148c90cb32cc217321d7a767fac308cf2b274939165d6" }, "downloads": -1, "filename": "nicetypes-0.3.1.tar.gz", "has_sig": false, "md5_digest": "2f405252da878b078d4a591a6856d703", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9669, "upload_time": "2017-05-03T21:04:14", "url": "https://files.pythonhosted.org/packages/6f/eb/a7a8b7c164ce983ce301638a3706adb7f7354dbe09157863e05db45925a6/nicetypes-0.3.1.tar.gz" } ], "0.3.2": [ { "comment_text": "", "digests": { "md5": "6a33094fb0ac39c199548d665bbce1aa", "sha256": "46a0b838256c007987a0dd3f88f0f01d025629b2d21edebd5d350ca47a415065" }, "downloads": -1, "filename": "nicetypes-0.3.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "6a33094fb0ac39c199548d665bbce1aa", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 8088, "upload_time": "2017-05-07T22:23:29", "url": "https://files.pythonhosted.org/packages/1f/96/305dd39bd551ce315adacde4921d3efd9d1fd832f51480f91700dc5f1007/nicetypes-0.3.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "34e550d9c661b11cc5bb8979c53bebdd", "sha256": "7e543e6cbc628b63ef824ce4fa9b987b1ad3a2dd31c1590bc0abbcd3925142e7" }, "downloads": -1, "filename": "nicetypes-0.3.2.tar.gz", "has_sig": false, "md5_digest": "34e550d9c661b11cc5bb8979c53bebdd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13007, "upload_time": "2017-05-07T22:23:31", "url": "https://files.pythonhosted.org/packages/10/32/d970de722540624cabaaf8dc86a1816ec2f04cfa1f98e62f6da9ea06edfa/nicetypes-0.3.2.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "51284e748cee82c706436ca5b8ddff67", "sha256": "0ba77e3c68fce54ec44534a895b6be3113007f30c228a18a96d69b1e51f60603" }, "downloads": -1, "filename": "nicetypes-0.4.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "51284e748cee82c706436ca5b8ddff67", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 8347, "upload_time": "2017-09-21T21:36:10", "url": "https://files.pythonhosted.org/packages/13/5a/2e81ad4faeeb5a9c71119d3f949a96f96c7ed63c959cf0d9b4ae53460d20/nicetypes-0.4.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8c9b692b4af54516d990f60da23928e9", "sha256": "65d99c1d7fb3a723a70274ef99eaf7f8a5acc6e8d56446d741672f1469a9d810" }, "downloads": -1, "filename": "nicetypes-0.4.0.tar.gz", "has_sig": false, "md5_digest": "8c9b692b4af54516d990f60da23928e9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13579, "upload_time": "2017-09-21T21:36:11", "url": "https://files.pythonhosted.org/packages/52/a8/34194bb3225a5a373f657de01326ad7920f798decea6e3f5670d108037de/nicetypes-0.4.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "51284e748cee82c706436ca5b8ddff67", "sha256": "0ba77e3c68fce54ec44534a895b6be3113007f30c228a18a96d69b1e51f60603" }, "downloads": -1, "filename": "nicetypes-0.4.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "51284e748cee82c706436ca5b8ddff67", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 8347, "upload_time": "2017-09-21T21:36:10", "url": "https://files.pythonhosted.org/packages/13/5a/2e81ad4faeeb5a9c71119d3f949a96f96c7ed63c959cf0d9b4ae53460d20/nicetypes-0.4.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8c9b692b4af54516d990f60da23928e9", "sha256": "65d99c1d7fb3a723a70274ef99eaf7f8a5acc6e8d56446d741672f1469a9d810" }, "downloads": -1, "filename": "nicetypes-0.4.0.tar.gz", "has_sig": false, "md5_digest": "8c9b692b4af54516d990f60da23928e9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13579, "upload_time": "2017-09-21T21:36:11", "url": "https://files.pythonhosted.org/packages/52/a8/34194bb3225a5a373f657de01326ad7920f798decea6e3f5670d108037de/nicetypes-0.4.0.tar.gz" } ] }