GithubHelp home page GithubHelp logo

openedx / code-annotations Goto Github PK

View Code? Open in Web Editor NEW
4.0 70.0 11.0 441 KB

Extensible tools for parsing annotations in codebases, powers edx PII checker.

License: Apache License 2.0

Makefile 2.00% Python 95.08% JavaScript 1.72% Smarty 1.20%

code-annotations's Introduction

code-annotations

PyPI CI Codecov Documentation Supported Python versions License

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 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

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

Reporting Security Issues

Please do not report security issues in public. Please email [email protected].

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.

code-annotations's People

Contributors

aht007 avatar albemarle avatar arbrandes avatar awais786 avatar azarembok avatar bmedx avatar bmtcril avatar caplan188 avatar coryleeio avatar dawoudsheraz avatar dyudyunov avatar edx-requirements-bot avatar estute avatar feanil avatar ghassanmas avatar iloveagent57 avatar jawayria avatar mraarif avatar mzulqarnain1 avatar nedbat avatar pwnage101 avatar regisb avatar robrap avatar sarina avatar timmc-edx avatar usamasadiq avatar xitij2000 avatar yagnesh1998 avatar ziqixiao avatar zubairshakoorarbisoft avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

code-annotations's Issues

Test code-annotations on Python 3.11

This repository is a depedency of edx-platform and needs to be upgraded to Python 3.11 before
the Readwood release is cut (mid-April).

  • Requirements are compiled with Python 3.8
  • Tests are run on Python 3.8 and 3.11
  • (Optional) Tests are also run with 3.12 and passing or 3.12 issues are ticketed.
  • Classifiers in setup.py setup.cfg or pyproject.toml indicate Python 3.11 support
  • A new version is release to PyPI
  • A PR is merged to edx-platform to use the new version

Remove ability to comment between annotations

It has been discussed during toggles annotation work that the ability to intermix comments between code annotations doesn't seem to add much value, and instead adds implementation complexity and bugs.

See example test file for this use case:
https://github.com/openedx/code-annotations/blob/master/tests/extensions/python_test_files/multiline_singlelinecomment.pyt

See toggle annotation PR comment about potential issue with linting due to this issue: openedx/edx-platform#27222 (comment).

Ensure only defined annotations are allowed

At this time, users are not given any linting warnings when undefined annotations are used, including misspellings.

Additional Notes:

Documentation states wrong license

The license in the repo changed to Apache 2.0, but the documentation (including in the README and on PyPI) still states that it's AGPL. This is a deterrent to wider use, since that's the first thing people see on PyPI.

Test code-annotations on Ubuntu 24.04

This repository is using Ubuntu 20.04 for testing. That version of Ubuntu will be out of support before Teak. Therefore this repo needs to be updated to testing with Ubuntu 24.04 before Sumac is cut to allow everyone sufficient time to switch to the new version.

Update this repository to test with Ubuntu 24.04 so that we can make the switch.

  • Tests are run and passing on Ubuntu 20.04 and 24.04
  • If major changes were needed and this is a library, a new version is published to PyPI or NPM

Note: In some cases, it may not make sense to test with both the old and the new version. For example, if the workflow is running linting or publishing to a package manager. In these cases, simply update the workflow to run on the newer version or opt to set it to ubuntu-latest instead if it doesn't matter what version it's running on. If you're unsure, reach out to the maintenance working group in #wg-maintenance in slack for guidance.

Known affected workflow files:

  • .github/workflows/pypi-publish.yml
  • .github/workflows/ci.yml

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.