{ "info": { "author": "Janus Friis Nielsen", "author_email": "jfn@fagidiot.dk", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "License :: OSI Approved :: Mozilla Public License 2.0 (MPL 2.0)", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy", "Topic :: Software Development :: Build Tools", "Topic :: Utilities" ], "description": "Copycheck\n=========\n\nCopyright 2016 Janus Friis Nielsen.\n\nThis file is part of *copycheck*.\n\n.. image:: https://circleci.com/gh/janusdn/copycheck/tree/master.svg?style=shield&circle-token=4112427381753afc2f073a61fba23263d1f86d13\n :target: https://circleci.com/gh/janusdn/copycheck/tree/master\n\n\nIntroduction\n------------\n*Copycheck* inspects the beginning of all files reports any file without a copyright\nheader.\n\nThe recognition of copyright headers is very rudimentary. *Copycheck* scans the \n10 first lines for occurrences of the word \"copyright\" in any casing.\n\n\nInstallation\n------------\n\n*copycheck* is available for install through `PyPI`_:\n\n.. code-block:: bash\n\n $ pip install copycheck\n\n*copycheck* can also be installed from source with:\n\n.. code-block:: bash\n\n $ python setup.py install\n\n.. _`PyPI`: http://pypi.python.org/pypi/copycheck\n.. _`setuptools`: https://pypi.python.org/pypi/setuptools\n\n\nUsage\n-----\n\nThe tool will show a description of usage when given the \n`--help` option:\n\n.. code-block:: bash\n\n $ copycheck --help\n\n usage: copycheck [-h] [-v] [--debug DEBUG] {check} ...\n\n Check source files for missing copyright headers\n\n positional arguments:\n {check} sub-commands\n check check for missing copyright headers\n\n optional arguments:\n -h, --help show this help message and exit\n -v, --verbose Enable verbose output\n --debug DEBUG Enable debug output\n\nCheck all files in current directory\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n.. code-block:: bash\n\n $ copycheck check .\n\n\nCheck all files in a directory\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n.. code-block:: bash\n\n $ copycheck check path/to/directory\n\n\nCheck all files in a number of directories\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n.. code-block:: bash\n\n $ copycheck check path/to/directory path/to/another/directory /and/so/on/..\n\n\nIgnore files\n~~~~~~~~~~~~\n\nYou can put a files called `.copycheckignore` in the base directory of your \nproject.\n\nThe syntax of the files is Git wildmatch. The same as used in .gitignore.\n\n\nGet files sorted\n~~~~~~~~~~~~~~~~\n\n.. code-block:: bash\n\n $ copycheck check path/to/directory | sort\n\n\nAdd copyright header\n~~~~~~~~~~~~~~~~~~~~\n\nAdd copyright header to all Python files available from current directory\"\n\n.. code-block:: bash\n\n $ copycheck check . | sort | grep \"\\.py\" | xargs -L1 sed -i '' '1i\\\n # Copyright 2016 (c) Janus Friis Nielsen, all rights reserved. \\\n \\\n '\n\n\nLicense\n-------\n\n*copycheck* is licensed under the `Mozilla Public License Version 2.0`_. See\n`LICENSE`_ or the `FAQ`_ for more information.\n\nIn summary, you may use *copycheck* with any closed or open source project\nwithout affecting the license of the larger work so long as you:\n\n- give credit where credit is due,\n\n- and release any custom changes made to *copycheck*.\n\n.. _`Mozilla Public License Version 2.0`: http://www.mozilla.org/MPL/2.0\n.. _`LICENSE`: LICENSE\n.. _`FAQ`: http://www.mozilla.org/MPL/2.0/FAQ.html\n\n\nSource\n------\n\nThe source code for *copycheck* is available from the GitHub repo\n`janusdn/copycheck`_.\n\n.. _`janusdn/copycheck`: https://github.com/janusdn/copycheck\n\n\nContributing\n------------\n\nWhen contributing changes remember to update the `CHANGELOG.rst`.\n\n\nBuilding copycheck\n------------------\nMake sure you have a Python 3.5 environment with the requirements. \n\nE.g. use pyenv:\n\n.. code-block:: bash\n\n $ pyenv virtualenv 3.5.0 copycheck-venv\n $ pyenv activate copycheck-venv\n\nMake sure pip is up-to-date:\n\n.. code-block:: bash\n\n $ pip install --upgrade pip\n\nInstall requirements:\n\n.. code-block:: bash\n\n $ pip install --upgrade -r requirements.txt\n\nBuild the wheel:\n\n.. code-block:: bash\n\n $ make\n\n\nDevelopment\n~~~~~~~~~~~\n\nUse the following command to install the package in the local \nenvironment during development.\n\n.. code-block:: bash\n\n $ pip install -e .\n\nThis allows you to change the code and test *copycheck*\ndirectly.\n\n\nReleasing\n---------\n\nDo the following to release a new version:\n\n1. Commit changes\n2. Push changes\n3. Merge with master\n4. Update local master\n5. Find the next release version, e.g. 6.6.6\n6. Create new branch with name core/release-6.6.6\n7. Bump version in __about__.py\n8. Run `./release.sh 6.6.6`\n\n\nUpload to Pypi\n--------------\nFirst, perform a test upload to verify everything is nice and dandy.\nThen perform the real upload.\n\nMake sure the following environment variables have been properly defined:\n\n.. code-block:: bash\n\n $ export PYPI_TEST_USERNAME=\"\"\n $ export PYPI_TEST_PASSWORD=\"\"\n $ export PYPI_USERNAME=\"\"\n $ export PYPI_PASSWORD=\"\"\n\n\nTest upload to pypi\n~~~~~~~~~~~~~~~~~~~\n\nYou may need to register on the Pypi test server. This can be done here:\n\n.. code-block:: bash\n\n $ https://testpypi.python.org/pypi\n\n\nRegister:\n\n.. code-block:: bash\n\n $ twine register -u ${PYPI_TEST_USERNAME} -p ${PYPI_TEST_PASSWORD} -r https://testpypi.python.org/pypi dist/Copycheck-6.6.6-py3-none-any.whl\n\nUpload\n\n.. code-block:: bash\n\n $ twine upload -u ${PYPI_TEST_USERNAME} -p ${PYPI_TEST_PASSWORD} -r https://testpypi.python.org/pypi dist/Copycheck-6.6.6-py3-none-any.whl\n\nGoto:\n\n.. code-block:: bash\n\n $ https://testpypi.python.org/pypi/Copycheck/6.6.6\n\nAn check that everything looks nice.\n\nYou can check the HTML by running:\n\n .. code-block:: bash\n\n $ python setup.py --long-description | rst2html.py --no-raw > output.html \n\n\nTest if it installs (do it in a different environment):\n\n.. code-block:: bash\n\n $ pip install -i https://testpypi.python.org/pypi copycheck\n\n\nReal upload to Pypi\n~~~~~~~~~~~~~~~~~~~\n\nUpload\n\n.. code-block:: bash\n\n $ twine upload -u ${PYPI_USERNAME} -p ${PYPI_PASSWORD} -r https://pypi.python.org/pypi dist/copycheck-6.6.6-py3-none-any.whl\n\nGoto:\n\n.. code-block:: bash\n\n $ https://pypi.python.org/pypi/copycheck/6.6.6\n\nAnd check that everything looks nice.\n\n\nThanks\n------\nA bug thank you goes to the author of the *pathspec* package. Using *pathspec* \nmade it a lot easier to build this tool.\n\nChange Log\n==========\n\nAll notable changes to the copycheck tool will be\ndocumented in this file.\nThis project adheres to [Semantic Versioning](http://semver.org/).\n\nSee http://keepachangelog.com for information on how to update this file.\n\n[Unreleased]\n------------\n\n\n[1.0.3]\n-------\n\nFixed\n~~~~~\n- Typos and formatting in README\n\n\n[1.0.2]\n-------\n\nFixed\n~~~~~\n- Typos and formatting in README\n\n\n[1.0.1]\n-------\n\nAdded\n~~~~~\n- Initial version\n\n\n[1.0.0]\n-------\n\nAdded\n~~~~~\n- Initial version\n\nChanged\n~~~~~~~\n- No changes\n\nDeprecated\n~~~~~~~~~~\n- No changes\n\nRemoved\n~~~~~~~\n- No changes\n\nFixed\n~~~~~\n- No changes\n\nSecurity\n~~~~~~~~\n- No changes\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/aicis/copycheck", "keywords": "Copyright check", "license": "MPL 2.0", "maintainer": "", "maintainer_email": "", "name": "copycheck", "package_url": "https://pypi.org/project/copycheck/", "platform": "", "project_url": "https://pypi.org/project/copycheck/", "project_urls": { "Homepage": "https://github.com/aicis/copycheck" }, "release_url": "https://pypi.org/project/copycheck/1.0.3/", "requires_dist": [ "pathspec" ], "requires_python": "", "summary": "Check if files have a proper copyright header.", "version": "1.0.3" }, "last_serial": 2506262, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "8c9b17657e201f5cdfba022ca79514a3", "sha256": "373240ba6e4bec70a945bbaab0b1cb0e5d8f10741bb0376e75066a46176e8423" }, "downloads": -1, "filename": "copycheck-1.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "8c9b17657e201f5cdfba022ca79514a3", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10482, "upload_time": "2016-12-07T12:37:42", "url": "https://files.pythonhosted.org/packages/64/b0/685a3d37086fbe279d82b8b52acf9b8c9daefe7a0b42f12b31d038acf811/copycheck-1.0.0-py3-none-any.whl" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "81938abfd04400ee659e04b5914d3fd0", "sha256": "c95d94b2347e1e2b643f5d76fa68ca55194e5a869076f30e3d6584c0f28082ba" }, "downloads": -1, "filename": "copycheck-1.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "81938abfd04400ee659e04b5914d3fd0", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10754, "upload_time": "2016-12-07T13:48:52", "url": "https://files.pythonhosted.org/packages/6e/31/ac1cf793335d70cf722da89fbb5952a8aa67a9c38f545642a9b50a37bf89/copycheck-1.0.2-py3-none-any.whl" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "4552aaa8f8af017957146becdc59d64c", "sha256": "bc0a282622ed3fc956962d57ebc15b507bc7852ff07c0a05215d7342fcd0b362" }, "downloads": -1, "filename": "copycheck-1.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "4552aaa8f8af017957146becdc59d64c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10778, "upload_time": "2016-12-08T05:05:14", "url": "https://files.pythonhosted.org/packages/ad/5e/6dbe9fcab19295daa12873f32558e9d847f5afbac3ec6405483d0dbb2163/copycheck-1.0.3-py3-none-any.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "4552aaa8f8af017957146becdc59d64c", "sha256": "bc0a282622ed3fc956962d57ebc15b507bc7852ff07c0a05215d7342fcd0b362" }, "downloads": -1, "filename": "copycheck-1.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "4552aaa8f8af017957146becdc59d64c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10778, "upload_time": "2016-12-08T05:05:14", "url": "https://files.pythonhosted.org/packages/ad/5e/6dbe9fcab19295daa12873f32558e9d847f5afbac3ec6405483d0dbb2163/copycheck-1.0.3-py3-none-any.whl" } ] }