# A simple wrapper for fastapi with admin dashboard

# Installation

This guide give you step by step for install parameciofast sucessfully.

## Requirements

For install ParamecioFast you need a server preferably with GNU/Linux installed. Paramecio is developed in Manjaro but is tested normally in Debian and debian derivateds how Ubuntu, and Red hat derivated distros how Centos or Fedora but should work fine in FreeBSD, MacOSX and other \*nix like operating systems. Paramecio not support windows.

Also, you need the next software installed  in  your os:

### Python 3.10 or later. 

Paramecio should work fine in 3.5-3.9 but is tested in 3.10, 3.11 and 3.12 python 3 versions actually.

In Debian and Ubuntu you can install Python 3 using the next command: `apt-get install python3`.

In Fedora and other Red Hat derived distros you can use `yum install python3`. In RedHat/Centos 6 or 7 are not supported. In new Fedora and new Red Hat/CentOS/derivated versions you can use dnf, a drop-in replacement for yum: `dnf install python3`.

### MySQL or MariaDB database servers. 

MariaDB 10.6 and later are recommended but is compatible with previous versions.

In Debian and Ubuntu you can install MariaDB using the next command: `apt-get install mariadb-server`.

In Fedora and other Red Hat derived distros you can use `yum install mariadb-server`. 
In RedHat/Centos 6 probably you need install adittional repositories for get latest versions of mariadb, but with MySQL 5.5, Paramecio should work fine.

When you will install the mysql server, you should create a new user and database for Paramecio.

### Pip

Pip is the package manager of python. You can use the package manager of your os for get python dependencies packages but in my experience is better install the packages directly with pip [creating a virtualenv](https://docs.python.org/3/library/venv.html). 

In Debian and Ubuntu you can install pip using the next command: `apt-get install python3-pip`.

In Fedora and other Red Hat derived distros you can use `yum install python3-pip`. Of course, the command can change if you use Centos 6/7 with **Ius repos**.

### Git

[Git](https://git-scm.com/) is a tool used for manage source code repositories. Also is a tool that can be used for distribute software. For install the next tools you need git installed in your server.

In Debian and Ubuntu you can install git using the next command: `apt-get install git`.

In Fedora and other Red Hat derived distros you can use `yum install git` or `dnf install git` in last fedora and red hat/centos/derivated versions.

## Install Paramecio Framework

You can install the framework using the next command in your server:

`pip3 install paramecio2`

or if you want development version:

`pip3 install git+https://git.cuchulu.com/paramecio/paramecio2fm.git`

This command will install in your server paramecio framework with its dependencies.

When Paramecio finish the installing, you can create your first paramecio site with `paramecio2` command.

> If you install passlib and bcrypt python modules, your paramecio install will use bcrypt algorithm for crypt system passwords. If not, default system implementation crypt algorithm (normally the more strong algorithm available in the system) will be used.

### Tipical errors

If you get an error in your installation of dependencies how MarkupSafe or SqlAlchemy, please install gcc or install manually mako and sqlalchemy with your system package manager. For example, for debian and ubuntu:

`apt-get install python3-mako python3-sqlalchemy` and try pip3 command again.

