Source code
- Install dependencies. If using codespaces you may simply run ./bootstrap.sh. Otherwise this should suffice:
- .NET Core 6: for framework, Q# & API functions.
- Python 3.10, for Python bindings.
aleph
is built on .NET 6, mostly on F#. Once pre-requs are built, just build and test the solution file (src/aleph.sln).
cd src
dotnet build
dotnet test
We provide Python bindings for aleph
. Use pip
to install the source version. Include pytest
for tests
cd src/python
pip install -e . pytest
pytest
The Python bindings require an API server to keep track of the quantum graph and evaluate it. Information about how to build and run can be found in the API server folder: ./api/README.md
-
Update package versions in:
- .NET: Common.props
- Python: python/setup.py Main should always have a beta version. To build a release version use a release branch and build from there.
-
Build .NET packages:
dotnet pack src/aleph.sln -c Release -o bin
Packages will be in the
bin
folder. Upload all of them to NuGet (via the NuGet portal). -
Build and publish Python package:
cd src/python pip install build twine python -m build twine upload dist/*
- Set env variable: VSTEST_HOST_DEBUG="1"
- Start dotnet test: dotnet test --filter TestQPUClassic
It starts and breaks. Print the process id to the console.
- Attach to process.