{ "info": { "author": "Claudiu Popa", "author_email": "pcmanticore@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 2 - Pre-Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Programming Language :: Python :: 3.5" ], "description": "===============================\ncopyrite\n===============================\n\n\n.. image:: https://img.shields.io/pypi/v/copyrite.svg\n :target: https://pypi.python.org/pypi/copyrite\n\n.. image:: https://img.shields.io/travis/PCManticore/copyrite.svg\n :target: https://travis-ci.org/PCManticore/copyrite\n\n\nUpdates copyright notices.\n\n\n* Free software: MIT license\n\n\nAbout\n=====\n\nThis is a short tool I've built for handling missing copyright\nnotices in my open source projects (mostly pylint_ and astroid_).\nThe problem was that the copyright notices were too coarse,\nbelonging only to the initial author of those two projects (Logilab),\nwho stopped contributing that much in the past years.\nSince some contributors weren't willing to rennounce the copyright for a\ncommercial entity, we found the need of a tool for updating the\ncopyright notices across the board in order to reflect the reality\nof the contributions from the last year.\n\n**copyrite** is extremely simple: it just need a repository\nand, driven by a couple of options, it goes into each file and\nreplaces the copyright notices it finds with more up-to-date notices.\n\nFeatures\n--------\n\n * `concurrent`.\n\n You can use the ``--jobs`` flag for controlling\n the number of processes it should use for processing your file.\n Defaults to 1.\n\n * can support multiple VCSes.\n\n It could support multiple VCSes easily, although right now it\n has only ``git`` support.\n\n * supports aliases\n\n If a contributor used multiple emails for contributing to a project,\n you can use the ``--aliases`` option. It requires a JSON file with\n a certain structure, as seen below.\n\n Each entry in the alias should be a dictionary, containing two\n required fields, ``mails`` and ``name`` and one optional field,\n ``authoritative_mail``.\n\n If the ``authoritative_mail`` is not given, the generated copyright\n will look as in::\n\n # Copyright (c) {year_span} {name}\n\n If the ``authoritative_name`` is given, then this will look as::\n\n # Copyright (c) {year_span} {name} <{mail}>\n\n The ``year_span`` represents the years in which a contributor\n made their contributions to that particular file.\n\n .. code-block:: js\n\n [\n {\n \"mails\": [\n \"cpopa@cloudbasesolutions.com\"\n ],\n \"authoritative_mail\": \"ala@bala.com\",\n \"name\": \"Claudiu Popa\"\n },\n {\n \"mails\": [\n \"george@oops.com\"\n ],\n \"name\": \"Oops\",\n },\n ]\n\n * supports thresholds for contributions\n\n There are two flags which control if a contribution should be\n considered. ``--contribution-threshold`` is specifying how many\n commits a contributor should have for a file in order for the\n contributions to be taken in consideration.\n ``--change-threshold`` specifies what is the least amount of\n added lines that a change should have. These two are exclusive,\n which means that a change threshold of 100 can have more\n importance than a contribution threshold of 2.\n\n\nAnd here is an example::\n\n $ copyrite --contribution-threshold 10 --change-threshold 4 --backend-type git my_repo --aliases=aliases_file\n\n\nCredits\n---------\n\nThis package was created with Cookiecutter_ and the `audreyr/cookiecutter-pypackage`_ project template.\n\n.. _Cookiecutter: https://github.com/audreyr/cookiecutter\n.. _`audreyr/cookiecutter-pypackage`: https://github.com/audreyr/cookiecutter-pypackage\n.. _pylint: https://github.com/PyCQA/pylint\n.. _astroid: https://github.com/PyCQA/astroid)\n\n\n=======\nHistory\n=======\n\n0.1.0 (2016-07-21)\n------------------\n\n* First release on PyPI.", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/PCManticore/copyrite", "keywords": "copyrite", "license": "MIT license", "maintainer": null, "maintainer_email": null, "name": "copyrite", "package_url": "https://pypi.org/project/copyrite/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/copyrite/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/PCManticore/copyrite" }, "release_url": "https://pypi.org/project/copyrite/0.1.0/", "requires_dist": null, "requires_python": null, "summary": "Updates copyright notices.", "version": "0.1.0" }, "last_serial": 2239004, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "15b7c2772bfc86fe4bf4a539961f212c", "sha256": "eb0417e55c158c13a825d949b509cf378d5e01754310e0d663bee9916b9a18f7" }, "downloads": -1, "filename": "copyrite-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "15b7c2772bfc86fe4bf4a539961f212c", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 13167, "upload_time": "2016-07-22T21:55:48", "url": "https://files.pythonhosted.org/packages/3b/10/c6c4817c9149b052b0550c2298586cce6c0e6411791bfb9d3da7b5736c59/copyrite-0.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e06ae549c43b48916d5780b2e0e2dac0", "sha256": "dabbc823d5199dfaddbd1f944b944277eb6b3c27fb3fecd6edc3661b6a1229e7" }, "downloads": -1, "filename": "copyrite-0.1.0.tar.gz", "has_sig": false, "md5_digest": "e06ae549c43b48916d5780b2e0e2dac0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20484, "upload_time": "2016-07-22T21:55:46", "url": "https://files.pythonhosted.org/packages/48/3e/6fd75105addd21bd0410e5ae5c4c3590e37c596f3c15bf845e33fadf4c77/copyrite-0.1.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "15b7c2772bfc86fe4bf4a539961f212c", "sha256": "eb0417e55c158c13a825d949b509cf378d5e01754310e0d663bee9916b9a18f7" }, "downloads": -1, "filename": "copyrite-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "15b7c2772bfc86fe4bf4a539961f212c", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 13167, "upload_time": "2016-07-22T21:55:48", "url": "https://files.pythonhosted.org/packages/3b/10/c6c4817c9149b052b0550c2298586cce6c0e6411791bfb9d3da7b5736c59/copyrite-0.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e06ae549c43b48916d5780b2e0e2dac0", "sha256": "dabbc823d5199dfaddbd1f944b944277eb6b3c27fb3fecd6edc3661b6a1229e7" }, "downloads": -1, "filename": "copyrite-0.1.0.tar.gz", "has_sig": false, "md5_digest": "e06ae549c43b48916d5780b2e0e2dac0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20484, "upload_time": "2016-07-22T21:55:46", "url": "https://files.pythonhosted.org/packages/48/3e/6fd75105addd21bd0410e5ae5c4c3590e37c596f3c15bf845e33fadf4c77/copyrite-0.1.0.tar.gz" } ] }