HEX
Server: LiteSpeed
System: Linux houston.panomity.com 6.8.0-100-generic #100-Ubuntu SMP PREEMPT_DYNAMIC Tue Jan 13 16:40:06 UTC 2026 x86_64
User: nudepix (1011)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: //opt/moodle-mlbackend-python/readme_moodle.md
# How to package a new version

After applying your changes and committing them you need to go through the following steps to release a new moodlemlbackend version:

## Requirements

* PyPi credentials (moodlehq) to publish the new packages (twine will ask for them)
* Install wheels and twine if they are not installed yet

        pip install wheel
        pip install twine

## Release process

* Make your changes and build the wheel (it generates the dist files)

        python setup.py bdist_wheel --universal

* Install your new wheel locally (need to have moodlemlbackend>=3.0.2,<3.0.3 in /tmp/requirements.txt)

        pip install -r /tmp/requirements.txt --no-index --find-links dist/moodlemlbackend-3.0.2-py2.py3-none-any.whl

* Run tests if any and make sure all passing

        python3 -mpytest

* Add all new dist files, commit changes and push them upstream (create merge request).
* Once approved upload the generated dist file (credentials required)

        twine upload dist/*

* Ensure that the VERSION git tag has been created.
* Verify that ```moodlemlbackend/VERSION``` version matches the new version and push tags
* Update the required moodle-mlbackend package version in Moodle core (```REQUIRED_PIP_PACKAGE_VERSION``` constant version in \mlbackend_python\processor class)


More info about packaging and uploading as well as detailed instructions can be found in <https://packaging.python.org/tutorials/packaging-projects/>