code-annotations
=============================
|pypi-badge| |CI| |codecov-badge| |doc-badge| |pyversions-badge|
|license-badge|
Extensible tools for parsing annotations in codebases
Overview
--------
This package provides configurable and extensible tools for parsing and
summarizing annotations in a wide range of codebases. Originally intended for
annotating code which stores personally identifiable information (PII), these
tools are optimized for that use case but can be generalized for other types of
annotations.
Additionally, a logically separate part of this repository will contain specific annotation configurations and supporting tools, such as Sphinx extensions for documenting specific annotation types. See the ``contrib`` folder.
Documentation
-------------
The full documentation is at https://code-annotations.readthedocs.org.
License
-------
The code in this repository is licensed under the Apache Software License 2.0 unless
otherwise noted.
Please see ``LICENSE.txt`` for details.
How To Contribute
-----------------
Contributions are very welcome.
Please read `How To Contribute <https://github.com/openedx/.github/blob/master/CONTRIBUTING.md>`_ for details.
PR description template should be automatically applied if you are sending PR from github interface; otherwise you
can find it it at `PULL_REQUEST_TEMPLATE.md <https://github.com/openedx/code-annotations/blob/master/.github/PULL_REQUEST_TEMPLATE.md>`_
Issue report template should be automatically applied if you are sending it from github UI as well; otherwise you
can find it at `ISSUE_TEMPLATE.md <https://github.com/openedx/code-annotations/blob/master/.github/ISSUE_TEMPLATE.md>`_
Reporting Security Issues
-------------------------
Please do not report security issues in public. Please email security@openedx.org.
Getting Help
------------
Have a question about this repository, or about Open edX in general? Please
refer to this `list of resources`_ if you need any assistance.
.. _list of resources: https://open.edx.org/getting-help
.. |pypi-badge| image:: https://img.shields.io/pypi/v/code-annotations.svg
:target: https://pypi.python.org/pypi/code-annotations/
:alt: PyPI
.. |CI| image:: https://github.com/openedx/code-annotations/workflows/Python%20CI/badge.svg?branch=master
:target: https://github.com/openedx/code-annotations/actions?query=workflow%3A%22Python+CI%22
:alt: CI
.. |codecov-badge| image:: http://codecov.io/github/edx/code-annotations/coverage.svg?branch=master
:target: http://codecov.io/github/edx/code-annotations?branch=master
:alt: Codecov
.. |doc-badge| image:: https://readthedocs.org/projects/code-annotations/badge/?version=latest
:target: http://code-annotations.readthedocs.io/en/latest/
:alt: Documentation
.. |pyversions-badge| image:: https://img.shields.io/pypi/pyversions/code-annotations.svg
:target: https://pypi.python.org/pypi/code-annotations/
:alt: Supported Python versions
.. |license-badge| image:: https://img.shields.io/github/license/edx/code-annotations.svg
:target: https://github.com/openedx/code-annotations/blob/master/LICENSE.txt
:alt: License
Change Log
----------
..
All enhancements and patches to code_annotations will be documented
in this file. It adheres to the structure of http://keepachangelog.com/ ,
but in reStructuredText instead of Markdown (for ease of incorporation into
Sphinx documentation and the PyPI description).
This project adheres to Semantic Versioning (http://semver.org/).
.. There should always be an "Unreleased" section for changes pending release.
Unreleased
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[2.1.0] - 2024-12-12
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Add support for optional event warning for in-line annotation.
[2.0.0] - 2024-10-18
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Drop support for python 3.8
* Adds support for python 3.11 & 3.12
[1.8.1] - 2024-07-11
~~~~~~~~~~~~~~~~~~~~
* Fix elapsed-time calculations to always use UTC. Other clocks can be altered partway through by Django config settings being loaded while the timer is running, resulting in reporting elapsed time of "-17999.895582 seconds" or similar.
* Fix report filename to use year-month-day order, not year-day-month. (Also more compact, now.)
[1.8.0] - 2024-03-31
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Added python3.11 and 3.12 support. Dropped django32 support.
[1.6.0] - 2024-01-31
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Added new annotation ``toggle_removal_ticket``
[1.5.0] - 2023-07-21
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Switch from ``edx-sphinx-theme`` to ``sphinx-book-theme`` since the former is
deprecated
* Added Support for Django 4.2
[1.4.0] - 2022-05-23
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Rename toggle_warnings to toggle_warning for consistency with setting_warning.
[1.3.0] - 2022-02-07
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Dropped Django 22, 30 and 31 Support
* Added Django40 Support in CI
[1.2.0] - 2021-07-26
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Added Django 3.0, 3.1 & 3.2 Support
[1.1.2] - 2021-05-21
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Django is not a base requirement for the package now.
* Removed the click constraint from base requirements.
[1.1.1] - 2021-03-30
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Internal refactoring of the sphinx utilities and the report generation code
[1.1.0] - 2021-01-28
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Refactor annotation checking to make it possible to expose errors via pylint
[1.0.2] - 2021-01-22
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Make setting_warning annotation optional.
[1.0.1] - 2021-01-22
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Fix grouping of safelisted annotations
[1.0.0] - 2021-01-21
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* BREAKING CHANGE: Improvement of some error messages
* BREAKING CHANGE: Refactor linting in a way that breaks backward compatibility of certain edge cases
* Implement optional annotation fields
[0.10.3] - 2020-12-15
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Updated the travis-badge in README.rst to point to travis-ci.com
[0.10.1] - 2020-11-09
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Fix Github links generated by the sphinx extension for settings.
[0.10.0] - 2020-10-12
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Fix table of contents generated by sphinx extensions
[0.9.0] - 2020-09-25
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Get rid of the ``documented_elsewhere`` annotation, which is used nowhere
[0.8.0] - 2020-09-10
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Add ``settings`` Sphinx extension with setting annotation configuration file
[0.7.0] - 2020-09-07
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Simplify the feature toggle annotation format
[0.6.0] - 2020-08-27
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Add support for multiline annotations for lines prefixed with single-line comment signs ("#")
[0.5.1] - 2020-08-25
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Add support for warnings in the ``featuretoggles`` Sphinx extension
[0.5.0] - 2020-08-06
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Add ``featuretoggles`` Sphinx extension
* Include ``contrib`` folder in pip-installable package
* Add ADR 0001-config-and-tools.rst for adding a place in this repository for shared annotation configs and supporting tools.
[0.4.0] - 2020-07-22
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Add support for multi-line code annotations
[0.3.4] - 2020-05-06
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Removed support for Django<2.2
* Removed support for Python2.7 and Python3.6
* Added support for Python3.8
[0.3.2] - 2019-06-21
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Added
_____
* Add RST anchors throughout annotation report docs
[0.3.1] - 2019-03-20
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Added
_____
* Bump pyyaml to version 5.1 to address unsafe load() CVE.
[0.1.0] - 2018-11-16
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Added
_____
* First release on PyPI.
Raw data
{
"_id": null,
"home_page": "https://github.com/openedx/code-annotations",
"name": "code-annotations",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.11",
"maintainer_email": null,
"keywords": "edx pii code annotations",
"author": "edX",
"author_email": "oscm@edx.org",
"download_url": "https://files.pythonhosted.org/packages/5f/a3/5b6bd2ee24795ec11b096f98b81ad22d4853fa9bcc67bcce41d69e3de54c/code_annotations-2.1.0.tar.gz",
"platform": null,
"description": "code-annotations\n=============================\n\n|pypi-badge| |CI| |codecov-badge| |doc-badge| |pyversions-badge|\n|license-badge|\n\nExtensible tools for parsing annotations in codebases\n\nOverview\n--------\n\nThis package provides configurable and extensible tools for parsing and\nsummarizing annotations in a wide range of codebases. Originally intended for\nannotating code which stores personally identifiable information (PII), these\ntools are optimized for that use case but can be generalized for other types of\nannotations.\n\nAdditionally, a logically separate part of this repository will contain specific annotation configurations and supporting tools, such as Sphinx extensions for documenting specific annotation types. See the ``contrib`` folder.\n\nDocumentation\n-------------\n\nThe full documentation is at https://code-annotations.readthedocs.org.\n\nLicense\n-------\n\nThe code in this repository is licensed under the Apache Software License 2.0 unless\notherwise noted.\n\nPlease see ``LICENSE.txt`` for details.\n\nHow To Contribute\n-----------------\n\nContributions are very welcome.\n\nPlease read `How To Contribute <https://github.com/openedx/.github/blob/master/CONTRIBUTING.md>`_ for details.\n\nPR description template should be automatically applied if you are sending PR from github interface; otherwise you\ncan find it it at `PULL_REQUEST_TEMPLATE.md <https://github.com/openedx/code-annotations/blob/master/.github/PULL_REQUEST_TEMPLATE.md>`_\n\nIssue report template should be automatically applied if you are sending it from github UI as well; otherwise you\ncan find it at `ISSUE_TEMPLATE.md <https://github.com/openedx/code-annotations/blob/master/.github/ISSUE_TEMPLATE.md>`_\n\nReporting Security Issues\n-------------------------\n\nPlease do not report security issues in public. Please email security@openedx.org.\n\nGetting Help\n------------\n\nHave a question about this repository, or about Open edX in general? Please\nrefer to this `list of resources`_ if you need any assistance.\n\n.. _list of resources: https://open.edx.org/getting-help\n\n\n.. |pypi-badge| image:: https://img.shields.io/pypi/v/code-annotations.svg\n :target: https://pypi.python.org/pypi/code-annotations/\n :alt: PyPI\n\n.. |CI| image:: https://github.com/openedx/code-annotations/workflows/Python%20CI/badge.svg?branch=master\n :target: https://github.com/openedx/code-annotations/actions?query=workflow%3A%22Python+CI%22\n :alt: CI\n\n.. |codecov-badge| image:: http://codecov.io/github/edx/code-annotations/coverage.svg?branch=master\n :target: http://codecov.io/github/edx/code-annotations?branch=master\n :alt: Codecov\n\n.. |doc-badge| image:: https://readthedocs.org/projects/code-annotations/badge/?version=latest\n :target: http://code-annotations.readthedocs.io/en/latest/\n :alt: Documentation\n\n.. |pyversions-badge| image:: https://img.shields.io/pypi/pyversions/code-annotations.svg\n :target: https://pypi.python.org/pypi/code-annotations/\n :alt: Supported Python versions\n\n.. |license-badge| image:: https://img.shields.io/github/license/edx/code-annotations.svg\n :target: https://github.com/openedx/code-annotations/blob/master/LICENSE.txt\n :alt: License\n\n\nChange Log\n----------\n\n..\n All enhancements and patches to code_annotations will be documented\n in this file. It adheres to the structure of http://keepachangelog.com/ ,\n but in reStructuredText instead of Markdown (for ease of incorporation into\n Sphinx documentation and the PyPI description).\n\n This project adheres to Semantic Versioning (http://semver.org/).\n\n.. There should always be an \"Unreleased\" section for changes pending release.\n\nUnreleased\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n[2.1.0] - 2024-12-12\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n* Add support for optional event warning for in-line annotation.\n\n[2.0.0] - 2024-10-18\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n* Drop support for python 3.8\n* Adds support for python 3.11 & 3.12\n\n[1.8.1] - 2024-07-11\n~~~~~~~~~~~~~~~~~~~~\n\n* Fix elapsed-time calculations to always use UTC. Other clocks can be altered partway through by Django config settings being loaded while the timer is running, resulting in reporting elapsed time of \"-17999.895582 seconds\" or similar.\n* Fix report filename to use year-month-day order, not year-day-month. (Also more compact, now.)\n\n[1.8.0] - 2024-03-31\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n* Added python3.11 and 3.12 support. Dropped django32 support.\n\n\n[1.6.0] - 2024-01-31\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n* Added new annotation ``toggle_removal_ticket``\n\n[1.5.0] - 2023-07-21\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n* Switch from ``edx-sphinx-theme`` to ``sphinx-book-theme`` since the former is\n deprecated\n* Added Support for Django 4.2\n\n[1.4.0] - 2022-05-23\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n* Rename toggle_warnings to toggle_warning for consistency with setting_warning.\n\n[1.3.0] - 2022-02-07\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n* Dropped Django 22, 30 and 31 Support\n* Added Django40 Support in CI\n\n[1.2.0] - 2021-07-26\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n* Added Django 3.0, 3.1 & 3.2 Support\n\n[1.1.2] - 2021-05-21\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n* Django is not a base requirement for the package now.\n* Removed the click constraint from base requirements.\n\n[1.1.1] - 2021-03-30\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n* Internal refactoring of the sphinx utilities and the report generation code\n\n[1.1.0] - 2021-01-28\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n* Refactor annotation checking to make it possible to expose errors via pylint\n\n[1.0.2] - 2021-01-22\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n* Make setting_warning annotation optional.\n\n[1.0.1] - 2021-01-22\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n* Fix grouping of safelisted annotations\n\n[1.0.0] - 2021-01-21\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n* BREAKING CHANGE: Improvement of some error messages\n* BREAKING CHANGE: Refactor linting in a way that breaks backward compatibility of certain edge cases\n* Implement optional annotation fields\n\n[0.10.3] - 2020-12-15\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n* Updated the travis-badge in README.rst to point to travis-ci.com\n\n[0.10.1] - 2020-11-09\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n* Fix Github links generated by the sphinx extension for settings.\n\n\n[0.10.0] - 2020-10-12\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n* Fix table of contents generated by sphinx extensions\n\n\n[0.9.0] - 2020-09-25\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n* Get rid of the ``documented_elsewhere`` annotation, which is used nowhere\n\n\n[0.8.0] - 2020-09-10\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n* Add ``settings`` Sphinx extension with setting annotation configuration file\n\n[0.7.0] - 2020-09-07\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n* Simplify the feature toggle annotation format\n\n[0.6.0] - 2020-08-27\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n* Add support for multiline annotations for lines prefixed with single-line comment signs (\"#\")\n\n[0.5.1] - 2020-08-25\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n* Add support for warnings in the ``featuretoggles`` Sphinx extension\n\n[0.5.0] - 2020-08-06\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n* Add ``featuretoggles`` Sphinx extension\n* Include ``contrib`` folder in pip-installable package\n* Add ADR 0001-config-and-tools.rst for adding a place in this repository for shared annotation configs and supporting tools.\n\n[0.4.0] - 2020-07-22\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n* Add support for multi-line code annotations\n\n[0.3.4] - 2020-05-06\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n* Removed support for Django<2.2\n* Removed support for Python2.7 and Python3.6\n* Added support for Python3.8\n\n[0.3.2] - 2019-06-21\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nAdded\n_____\n\n* Add RST anchors throughout annotation report docs\n\n\n[0.3.1] - 2019-03-20\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nAdded\n_____\n\n* Bump pyyaml to version 5.1 to address unsafe load() CVE.\n\n\n[0.1.0] - 2018-11-16\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nAdded\n_____\n\n* First release on PyPI.\n",
"bugtrack_url": null,
"license": "Apache Software License 2.0",
"summary": "Extensible tools for parsing annotations in codebases",
"version": "2.1.0",
"project_urls": {
"Homepage": "https://github.com/openedx/code-annotations"
},
"split_keywords": [
"edx",
"pii",
"code",
"annotations"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "35ff3f98bae036819bd55f4025af9e52c90d6bfb5bf7bb9d411eca2147f0b690",
"md5": "a4eb575d0c254a6d2adb440abac0d507",
"sha256": "1f36552e2ff5928d5de8203bf22ca24b7e171c5b8d1241c47b89e8da59b41753"
},
"downloads": -1,
"filename": "code_annotations-2.1.0-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "a4eb575d0c254a6d2adb440abac0d507",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": ">=3.11",
"size": 40237,
"upload_time": "2024-12-12T16:04:26",
"upload_time_iso_8601": "2024-12-12T16:04:26.666663Z",
"url": "https://files.pythonhosted.org/packages/35/ff/3f98bae036819bd55f4025af9e52c90d6bfb5bf7bb9d411eca2147f0b690/code_annotations-2.1.0-py2.py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "5fa35b6bd2ee24795ec11b096f98b81ad22d4853fa9bcc67bcce41d69e3de54c",
"md5": "4f90011ea310060b3fd52fc7f8b6a7e9",
"sha256": "e04586ffb519a2fe845e353b2fc48b6564f7c2c6f4e99315f94b4d60efd5864c"
},
"downloads": -1,
"filename": "code_annotations-2.1.0.tar.gz",
"has_sig": false,
"md5_digest": "4f90011ea310060b3fd52fc7f8b6a7e9",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.11",
"size": 42299,
"upload_time": "2024-12-12T16:04:29",
"upload_time_iso_8601": "2024-12-12T16:04:29.007036Z",
"url": "https://files.pythonhosted.org/packages/5f/a3/5b6bd2ee24795ec11b096f98b81ad22d4853fa9bcc67bcce41d69e3de54c/code_annotations-2.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-12-12 16:04:29",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "openedx",
"github_project": "code-annotations",
"travis_ci": false,
"coveralls": true,
"github_actions": true,
"tox": true,
"lcname": "code-annotations"
}