Skip to main content

EdX utilities for Django Application development.

Project description

PyPI Travis Codecov Documentation Supported Python versions License

EdX utilities for Django Application development.

Note that some utilities may warrant their own repository. A judgement call needs to be made as to whether code properly belongs here or not. Please review with the Architecture Team if you have any questions.

Overview

This repository includes shared utilities for:

Documentation

The full documentation is in the docs directory.

TODO: Publish to https://edx-django-utils.readthedocs.org.

License

The code in this repository is licensed under the AGPL 3.0 unless otherwise noted.

Please see LICENSE.txt for details.

How To Contribute

Contributions are very welcome.

Please read How To Contribute for details.

Even though they were written with edx-platform in mind, the guidelines should be followed for Open edX code in general.

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 security@edx.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.

Change Log

Unreleased

[3.7.0] - 2020-08-10

  • Adding Plugin infrastructure
    • Allows IDAs to use plugins

[3.6.0] - 2020-08-04

Added
  • Improved documentation for CodeOwnerMetricMiddleware, including a how_tos/add_code_owner_custom_metric_to_an_ida.rst for adding it to a new IDA.

  • Added ignore_transaction monitoring utility to ignore transactions we don’t want tracked.

Updated
  • Moved transaction-related monitoring code into it’s own file. Still exposed through __init__.py so it’s a non-breaking change.

[3.5.0] - 2020-07-22

Updated

  • Added a catch-all capability to CodeOwnerMetricMiddleware when CODE_OWNER_MAPPINGS includes a ‘*’ as a team’s module. The catch-all is used only if there is no other match.

[3.4.0] - 2020-07-20

Added
  • Added get_current_transaction for monitoring that returns a transaction object with a name property.

Updated
  • Updated CodeOwnerMetricMiddleware to use NewRelic’s current transaction for cases where resolve() doesn’t work to determine the code_owner, like for Middleware.

[3.3.0] - 2020-07-16

Added

  • CodeOwnerMetricMiddleware was moved here (from edx-platform) in order to be able to take advantage of the code_owner metric in other IDAs. For details on this decision, see the ADR for monitoring code owner. See the docstring for more details on usage.

[3.2.3] - 2020-05-30

  • Removed ceninusepy3 usage.

[3.2.2] - 2020-05-04

  • Added support for python 3.8 and dropped support for Django versions older than 2.2

[3.2.1] - 2020-04-17

Changed

  • imported get_cache_key in cache/__init__.py.

[3.2.0] - 2020-04-09

Added

  • Added get_cache_key utility.

[2.0.1] - 2019-10-09

Changed

  • Fixed: Updated function tracing to accomodate changes in New Relic’s 5.x Agent.

[2.0.0] - 2019-07-07

Changed

  • Converted Middleware (from old style MIDDLEWARE_CLASSES to MIDDLEWARE).

  • Removed support for Django versions < 1.11

[1.0.1] - 2018-09-07

Changed

  • Fixed: RequestCache now properly uses thread.local.

  • Fixed: CachedResponse.__repr__ now handles unicode.

[1.0.0] - 2018-08-28

Added
  • Add data dict property to better match legacy RequestCache interface.

Changed
  • Change is_hit/is_miss to is_found.

[0.5.1] - 2018-08-17

Changed

  • Fixed bug in TieredCacheMiddleware dependency declaration.

[0.5.0] - 2018-08-16

Changed

  • Restored Python 3 support.

  • Refactor/clean-up, including Middleware dependency checking.

  • Docs updates and other cookiecutter updates.

[0.4.1] - 2018-08-10

Changed

  • Split out TieredCacheMiddleware from RequestCacheMiddleware.

[0.4.0] - 2018-08-10

Changed

  • Rename CacheUtilsMiddleware to RequestCacheMiddleware.

[0.3.0] - 2018-08-02

Removed

  • Temporarily dropped Python 3 support to land this.

[0.2.0] - 2018-08-01

Added

  • Added cache and monitoring utilities.

[0.1.0] - 2018-07-23

Added

  • First release on PyPI.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

edx-django-utils-3.7.0.tar.gz (41.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

edx_django_utils-3.7.0-py2.py3-none-any.whl (50.8 kB view details)

Uploaded Python 2Python 3

File details

Details for the file edx-django-utils-3.7.0.tar.gz.

File metadata

  • Download URL: edx-django-utils-3.7.0.tar.gz
  • Upload date:
  • Size: 41.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.3.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.5.6

File hashes

Hashes for edx-django-utils-3.7.0.tar.gz
Algorithm Hash digest
SHA256 a77387f02da30b7aee1c7364b0c4b5377bce61cd621a013baf3bf510c212c2cb
MD5 e9b79a0fd0c42ffa69d6a91b2ae591b9
BLAKE2b-256 118dd77ee78f218958544d0c048c9bea18e8e76812429cc34449f7ba9f50eff8

See more details on using hashes here.

File details

Details for the file edx_django_utils-3.7.0-py2.py3-none-any.whl.

File metadata

  • Download URL: edx_django_utils-3.7.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 50.8 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.3.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.5.6

File hashes

Hashes for edx_django_utils-3.7.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 fef7b317ca48e8a5b9fdb12c05a9cda6bf74cba3072be1c104bea85fe4c0a56b
MD5 abaf8c025da8c7a95aac135661c8d214
BLAKE2b-256 c3a5a9e1591152278c5860d2393bcff92016af2e00b3f829d547e2a1ffe28549

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page