Uranium is a Python framework for building 3D printing related applications.
Uranium is released under terms of the LGPLv3 License. Terms of the license can be found in the LICENSE file. Or at
http://www.gnu.org/licenses/lgpl.html
But in general it boils down to:
You need to share the source of any Uranium modifications if you make an application with Uranium.
Note:
We are currently in the process of switch our builds and pipelines to an approach which uses Conan and pip to manage our dependencies, which are stored on our JFrog Artifactory server and in the pypi.org. At the moment not everything is fully ported yet, so bare with us.
If you want to develop Cura with Uranium see the Cura Wiki: Running Cura from source
If you have never used Conan read their documentation which is quite extensive and well maintained. Conan is a Python program and can be installed using pip
pip install conan --upgrade
conan config install https://github.com/ultimaker/conan-config.git
conan profile new default --detect
Community developers would have to remove the Conan cura
repository because that one requires credentials.
conan remote remove cura
conan install . --build=missing --profile=default -o uranium:devtools=True -g VirtualPythonEnv
This will create a Virtual Python Environment and install all the dependencies. You can then activate and run the unittests.
# For Linux/MacOS
source venv/bin/activate
cd tests
pytest
# For Windows (Powershell)
.\venv\Scripts\activate.ps1
cd tests
pytests
To create a new Uranium Conan package such that it can be used in Cura, run the following command:
conan create . uranium/<version>@<username>/<channel> --build=missing --update
This package will be stored in the local Conan cache (~/.conan/data
or C:\Users\username\.conan\data
) and can be used in downstream
projects, such as Cura, by adding it as a requirement in the conanfile.py
or in conandata.yml
if that project is set up
in such a way. You can also specify the override at the commandline, to use the newly created package, when you execute the conan install
command in the root of the consuming project, with:
conan install . -build=missing --update --require-override=uranium/<version>@<username>/<channel>