Skip to main content

Your project description goes here

Project description

PyPI CI Codecov Documentation Supported Python versions License

Overview

edx-when is designed to be the central source of dates for the LMS. This repository is deployed to PyPI and designed to be installed and imported by an installation of edx-platform. As part of being integrated into edx-platform, edx-when shares the same database as the rest of the platform. It is written to by Studio when a Course is published (via https://github.com/openedx/edx-platform/blob/master/openedx/core/djangoapps/course_date_signals/handlers.py) and then the LMS reads from it in several locations. This repo contains start, end, and due dates for Courses and offers the functionality to have both absolute and relative dates.

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.

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

Change Log

Unreleased

[3.1.0] - 2026-01-09

  • Add get_overrides_for_course API to retrieve all overrides for a course.

  • Update get_overrides_for_block to also return email and location.

[3.0.0] - 2025-05-15

  • Dropped support for Python 3.8.

  • Added support for Python 3.12.

[2.5.1] - 2024-08-06

  • Reduce schedule queries by using a request cache for get_schedule_for_user.

[2.5.0] - 2024-04-02

  • Add support for Python 3.11. Dropped django32 support.

  • Switch from edx-sphinx-theme to sphinx-book-theme since the former is deprecated

[2.4.0] - 2023-06-21

  • Support added for Django 4.2

[2.3.0] - 2022-02-15

  • Added Django40 support

  • Dropped Django22, 30 and 31 support

[2.2.2] - 2021-10-21

  • Bug fix to bust cache when Personalized Learner Schedules are updated.

[2.2.1] - 2021-09-15

  • Bug fix for optimization in 2.2.0, to account for missing block_type data.

[2.2.0] - 2021-08-27

  • Added optimization when requesting course block dates for an outline, where block dates below subsections are unneeded.

  • Use current version of the course to improve the cache key, along with using the TieredCache to cache date data.

[2.1.0] - 2021-07-23

Added Django 3.2 Support

[2.0.0] - 2021-01-19

Dropped python3.5 support.

[1.3.2] - 2021-01-15

Don’t warn about missing schedules for relative dates. It happens for legitimate reasons, and the layer above can check instead.

[1.3.1] - 2020-11-19

Updated travis badge in README.rst to point to travis-ci.com instead of travis-ci.org

[1.3.0] - 2020-07-16

Django 3.x deprecation warnings are fixed

[1.2.9] - 2020-06-30

Don’t return due dates for enrollments originally created too close to the course end to allow for finishing the course in time.

[1.2.8] - 2020-06-17

Don’t return due dates for enrollments created after course end

[1.2.4] - 2020-06-01

Updates function in API for finding learners with a specific Schedule that has an assignment on a given day, to also be inclusive of absolute date schedules (everyone active in the course without an override).

[1.2.3] - 2020-04-30

  • Dropped support for Django versions below 2.2

  • Added support for python 3.8

[1.1.4] - 2019-03-30

  • Drop the active index from ContentDate. It has low cardinality and Aurora was doing a lot of extra work to try to do an intersect query with that and the course_id index, when using the latter by itself would be far more efficient.

[1.1.3] - 2019-03-25

  • Use memcache to cache ContentDate information in get_dates_for_course

[0.1.0] - 2019-03-04

Added

  • First release on PyPI.

Project details


Download files

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

Source Distribution

edx_when-3.1.0.tar.gz (42.4 kB view details)

Uploaded Source

Built Distribution

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

edx_when-3.1.0-py2.py3-none-any.whl (34.6 kB view details)

Uploaded Python 2Python 3

File details

Details for the file edx_when-3.1.0.tar.gz.

File metadata

  • Download URL: edx_when-3.1.0.tar.gz
  • Upload date:
  • Size: 42.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for edx_when-3.1.0.tar.gz
Algorithm Hash digest
SHA256 e3e025e595be52958d765d54c14a7f01145b854f7dd096d4efd56cf37a7d3133
MD5 d8c93953096011aab2c883fd8b948c10
BLAKE2b-256 1927e40182e628c03c95b33aaabb3820e13b6ef78fd863fcd2785eabb4f15351

See more details on using hashes here.

File details

Details for the file edx_when-3.1.0-py2.py3-none-any.whl.

File metadata

  • Download URL: edx_when-3.1.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 34.6 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for edx_when-3.1.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 4d9ff8b5259c88179cc4a8e01fdf89e5f7364757070de1020626cc1401690b4c
MD5 bb7ad19c6e5dc3bb5b2fc33ead9c2913
BLAKE2b-256 f3a43e43ade217216230796fd4898ebfa89eb4ae3bcc8c4fa08cb13b8c506665

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