Skip to content

Installation

C++ library

There are several methods to install Astrea C++ library.

Method 1 - using Nix:

{
inputs = {
astreaPkg.url = "http://gitea.nul/astro/astrea/archive/v0.7.6.tar.gz";
};
outputs = inputs@{ self, astreaPkg, ... }:
let
system = "x86_64-linux";
astrea = astreaPkg.packages.${system}.default;
in {
devShells.${system}.default = pkgs.mkShell {
buildInputs = [
astrea
];
};
};
}

Method 2 - using Conan:

Add repo:

conan remote add astro http://gitea.nul/api/packages/astro/conan

Insall package:

conan install --remote=astro --requires=astrea/0.7.6

Method 3 - using Git:

You can clone, use as submodule, or download this repo.

git clone http://gitea.nul/astro/astrea

Next, install the following dependencies:

Python library

Method 1 - precompiled binaries (Linux):

# Using pip
pip3 install --index-url http://gitea.nul/api/packages/astro/pypi/simple astrea
# Using poetry
# Add source
poetry source add --priority=explicit \
astro http://gitea.nul/api/packages/astro/pypi/simple
# Install
poetry add --source=astro astrea

Method 2 - Nix package (flake.nix) (since v0.7.3):

{
inputs = {
astreaPyPkg.url = "http://gitea.nul/astro/astrea_py/archive/v0.7.6.tar.gz";
};
outputs = inputs@{ self, astreaPyPkg, ... }:
let
system = "x86_64-linux";
astreaPy = astreaPyPkg.packages.${system}.default;
in {
devShells.${system}.default = pkgs.mkShell {
buildInputs = [
astreaPy
];
};
};
}

Method 3 - compile from sources using Conan:

git clone http://gitea.nul/astro/astrea_py
cd astrea_py; \
conan profile detect; \
conan config install ./remotes.json; \
conan install . --build=missing; \
conan build .; \
python3 -m build --no-isolation --wheel

Method 4 - compile from sources:

Manually install dependencies (must be visible in CMAKE_PREFIX_PATH):

  • Astrea
  • Eigen
  • pybind11

Continue with the following commands:

git clone http://gitea.nul/astro/astrea_py
cd astrea_py; \
just configure; \
just build;

Next steps: Usage.