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.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.0.0.tar.gz (41.3 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.0.0-py2.py3-none-any.whl (34.5 kB view details)

Uploaded Python 2Python 3

File details

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

File metadata

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

File hashes

Hashes for edx_when-3.0.0.tar.gz
Algorithm Hash digest
SHA256 76a29286857c34f184124676d9abe5c915dff5c4b33b195cf0ad74bb9435f29f
MD5 a31adfaec5ca9b807d7af731e0719dbc
BLAKE2b-256 85796240f36d095747d4d3d63621afac0872413ef5fe97b2b7219f899ee85b48

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for edx_when-3.0.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 7533e3caf21157d06fe9fe25816631cdac26da549fb30d22575bad5f0d0d0173
MD5 b6807b6bf765ef428afc5e488a2de879
BLAKE2b-256 26b204e379425c29ee89386c876e29fc5b308d46796ee18eb762cbf7f5c58f0c

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