Metadata-Version: 2.1
Name: olx-utils
Version: 0.4.0
Summary: Utilities for edX OLX courses
Home-page: https://github.com/hastexo/olx-utils
Author: hastexo
Author-email: pypi@hastexo.com
License: AGPL-3.0
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Education
Classifier: License :: OSI Approved :: GNU Affero General Public License v3
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Education :: Computer Aided Instruction (CAI)
Classifier: Topic :: Education
License-File: LICENSE

|PyPI version| |Build Status|

OLX Utilities
=============

A set of tools to facilitate courseware development using the `Open
Learning
XML <http://edx.readthedocs.io/projects/edx-open-learning-xml/en/latest/>`__
(OLX) format.

OLX is sometimes tediously repetitive, and this package enables
courseware authors to apply the
`DRY <https://en.wikipedia.org/wiki/Don%27t_repeat_yourself>`__
principle when writing OLX content. It allows you to create templates
(using `Mako <http://www.makotemplates.org/>`__), which in turn enable
you to

-  define OLX fragments only once, to reuse them as often as you want
   (this comes in very handy in using the `hastexo
   XBlock <https://github.com/hastexo/hastexo-xblock>`__),
-  write courseware content in
   `Markdown <https://en.wikipedia.org/wiki/Markdown>`__,
-  do anything else you would like to do using your own plugins.

Install
-------

Install the ``olx-utils`` package from PyPI:

.. code:: bash

    pip install olx-utils

Apply templates to a course
---------------------------

In order to create a new course run named ``newrun``, starting on May 1,
2017 and ending on October 31, 2017, simply change into your courseware
checkout and run:

.. code:: bash

    olx new-run -b newrun 2019-01-01 2019-12-31

The ``-b`` option causes your rendered OLX to be added to a new Git
branch named ``run/newrun``, which you can then import into your Open
edX content store.

    You can also invoke ``olx new-run`` as ``new_run.py``. However, this
    is deprecated and its use is discouraged. ``new_run.py`` will go
    away in a future release.

License
-------

This package is licensed under the `GNU Affero
GPL <https://tldrlegal.com/l/agpl3>`__; see
`LICENSE <https://www.gnu.org/licenses/agpl-3.0.txt>`__
for details.

.. |PyPI version| image:: https://img.shields.io/pypi/v/olx-utils.svg
   :target: https://pypi.python.org/pypi/olx-utils
.. |Build Status| image:: https://github.com/hastexo/hastexo-xblock/workflows/Python%20package/badge.svg
   :target: https://github.com/hastexo/hastexo-xblock/actions?query=workflow%3A%22Python+package%22


