Use the following commands to install the required build prerequisites. Note that you'll need recent Rust and Cargo versions installed using the recommended way from [rustup.rs](rustup.rs):
```
sudo dnf config-manager --set-enabled powertools
sudo dnf in -y gcc gcc-c++ make cmake git patch libstdc++-static
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source "$HOME/.cargo/env"
```
#### Prerequisites for Ubuntu 22.04
Use the following command to install the required build prerequisites. Note that Ubuntu 22.04 provides recent Rust and Cargo versions, so it's preferable to install it via `apt-get`:
Use the following commands to install the required build prerequisites. Note that you'll need recent Rust and Cargo versions installed using the recommended way from [rustup.rs](rustup.rs):
## Picodata – Professional Data Management System for High Loads
This repository contains the source code of Picodata, an in-memory distributed application server with a built-in database.
### Installation
### What is Picodata
Picodata is a software for building professional data management systems. It provides a data storage system together with a development platform and a runtime for persistent applications written in Rust. Learn more about our software at the [picodata.io](picodata.io) web site.
1. Install Python 3.10
### Getting Picodata
We provide pre-built Picodata packages for select Linux distributions including CentOS and Ubuntu. Head over to our [downloads page](https://picodata.io/download/) to find out installation details.
Running a Picodata instance only takes one simple command: `picodata run`. Getting a basic distributed cluster made of two instances running on different hosts involves two commands, like this:
picodata run --listen 192.168.0.2:3301 --peer 192.168.0.1:3301
```
You can find out more about getting started procedures and first steps by heading to our [documentation site](https://docs.picodata.io/picodata/install/#_2).
### Running
```bash
python3.10 -m pipenv run pytest
python3.10 -m pipenv run lint
```
or
```bash
python3.10 -m pipenv shell
# A new shell will be opened inside the pipenv environment
pytest
pipenv run lint
```
#### Running tests in parallel with pytest-xdist
```bash
python3.10 -m pipenv run pytest -n 20
```
### Building Picodata from source
Our pre-built packages provide a statically linked `picodata` binary that have no extra dependencies other than a recent `glibc` library version. However, you may want or need to compile the software from the source. Please refer to the [CONTRIBUTING.md](CONTRIBUTING.md) document for compilation instructions and running integration tests.