mirror of
https://github.com/zama-ai/concrete.git
synced 2026-02-09 03:55:04 -05:00
chore: rename package
- poetry lock required to update package name - related Makefile and licenses update to keep consistency (will be removed once the PyPi package is available) - modified compile_torch_model to only accept datasets with one input mypy error with better numpy typing hints appeared closes #1252
This commit is contained in:
@@ -21,7 +21,7 @@ project = 'Concrete Framework'
|
||||
copyright = '2021, Zama'
|
||||
author = 'Zama'
|
||||
description = 'Zama Concrete Framework'
|
||||
root_url = os.environ.get("DOC_ROOT_URL", "/concretefhe")
|
||||
root_url = os.environ.get("DOC_ROOT_URL", "/concrete-framework")
|
||||
root_url = root_url if root_url.endswith('/') else root_url + '/'
|
||||
|
||||
# The full version, including alpha/beta/rc tags
|
||||
@@ -71,7 +71,7 @@ html_theme = 'sphinx_zama_theme'
|
||||
# so a file named "default.css" will overwrite the builtin "default.css".
|
||||
html_static_path = ['_static']
|
||||
html_theme_options = {
|
||||
"github_url": "https://github.com/zama-ai/concretefhe",
|
||||
"github_url": "https://github.com/zama-ai/concrete-framework",
|
||||
"twitter_url": "https://twitter.com/zama_fhe",
|
||||
"icon_links": [{
|
||||
"name": "Discourse",
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
# Compilation Pipeline In Depth
|
||||
|
||||
## What is **concretefhe**?
|
||||
## What is **concrete-framework**?
|
||||
|
||||
**concretefhe** is the python API of the **Concrete** framework for developing homomorphic applications.
|
||||
**concrete-framework** is the python API of the **Concrete** framework for developing homomorphic applications.
|
||||
One of its essential functionalities is to transform Python functions to their `MLIR` equivalent.
|
||||
Unfortunately, not all python functions can be converted due to the limits of current product (we are in the alpha stage), or sometimes due to inherent restrictions of FHE itself.
|
||||
However, you can already build interesting and impressing use cases, and more will be available in further versions of the framework.
|
||||
|
||||
@@ -19,7 +19,7 @@ In this section we will go over some terms that we use throughout the project.
|
||||
|
||||
## Module structure
|
||||
|
||||
In this section, we will discuss the module structure of **concretefhe** briefly. You are encouraged to check individual `.py` files to learn more!
|
||||
In this section, we will discuss the module structure of **concrete-framework** briefly. You are encouraged to check individual `.py` files to learn more!
|
||||
|
||||
- concrete
|
||||
- common: types and utilities that can be used by multiple frontends (e.g., numpy, torch)
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
# Contributing
|
||||
|
||||
```{important}
|
||||
There are two ways to contribute to **concretefhe**:
|
||||
There are two ways to contribute to **concrete-framework**:
|
||||
- you can open issues to report bugs, typos and suggest ideas
|
||||
- you can ask to become an official contributor by emailing hello@zama.ai. Only approved contributors can send pull requests, so please make sure to get in touch before you do!
|
||||
```
|
||||
@@ -28,7 +28,7 @@ git checkout -b fix/tracing_indexing_42
|
||||
|
||||
### Conformance
|
||||
|
||||
Each commit to **concretefhe** should be conformant to the standards decided by the team. Conformance can be checked using the following command.
|
||||
Each commit to **concrete-framework** should be conformant to the standards decided by the team. Conformance can be checked using the following command.
|
||||
|
||||
```shell
|
||||
make pcc
|
||||
|
||||
@@ -1,16 +1,16 @@
|
||||
# Project Setup
|
||||
|
||||
```{note}
|
||||
It is strongly recommended to use the development docker (see the [docker](./docker.md) guide). However you can setup the project on bare macOS and Linux provided you install the required dependencies (check Dockerfile.concretefhe-env for the required binary packages like make).
|
||||
It is strongly recommended to use the development docker (see the [docker](./docker.md) guide). However you can setup the project on bare macOS and Linux provided you install the required dependencies (check Dockerfile.concrete-framework-env for the required binary packages like make).
|
||||
|
||||
The project targets Python 3.8 through 3.10 inclusive.
|
||||
The project targets Python 3.8 through 3.9 inclusive.
|
||||
```
|
||||
|
||||
## Installing Python
|
||||
|
||||
**concretefhe** is a `Python` library, so `Python` should be installed to develop **concretefhe**. `v3.8`, `v3.9` and `v3.10` are the only supported versions.
|
||||
**concrete-framework** is a `Python` library, so `Python` should be installed to develop **concrete-framework**. `v3.8` and `v3.9` are the only supported versions.
|
||||
|
||||
You can follow [this](https://realpython.com/installing-python/) guide to install it (alternatively you can google `how to install python 3.8 (or 3.9, 3.10)`).
|
||||
You can follow [this](https://realpython.com/installing-python/) guide to install it (alternatively you can google `how to install python 3.8 (or 3.9)`).
|
||||
|
||||
## Installing Poetry
|
||||
|
||||
@@ -45,10 +45,10 @@ In the following sections, be sure to use the proper `make` tool for your system
|
||||
|
||||
## Cloning repository
|
||||
|
||||
Now, it's time to get the source code of **concretefhe**. You can use the following command to do that.
|
||||
Now, it's time to get the source code of **concrete-framework**. You can use the following command to do that.
|
||||
|
||||
```shell
|
||||
git clone https://github.com/zama-ai/concretefhe-internal.git
|
||||
git clone https://github.com/zama-ai/concrete-framework-internal.git
|
||||
```
|
||||
|
||||
## Setting up environment on your host OS
|
||||
@@ -56,7 +56,7 @@ git clone https://github.com/zama-ai/concretefhe-internal.git
|
||||
We are going to make use of virtual environments. This helps to keep the project isolated from other `Python` projects in the system. The following commands will create a new virtual environment under the project directory and install dependencies to it.
|
||||
|
||||
```shell
|
||||
cd concretefhe-internal
|
||||
cd concrete-framework-internal
|
||||
make setup_env
|
||||
```
|
||||
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
|
||||
## Release Candidate cycle
|
||||
|
||||
Before settling for a final release, we go through a Release Candidate (RC) cycle. The idea is that once the code base and documentations look ready for a release you create an RC Release by opening an issue with the release template [here](https://github.com/zama-ai/concretefhe-internal/issues/new?assignees=&labels=&template=release.md), starting with version `vX.Y.Zrc1` and then with versions `vX.Y.Zrc2`, `vX.Y.Zrc3`...
|
||||
Before settling for a final release, we go through a Release Candidate (RC) cycle. The idea is that once the code base and documentations look ready for a release you create an RC Release by opening an issue with the release template [here](https://github.com/zama-ai/concrete-framework-internal/issues/new?assignees=&labels=&template=release.md), starting with version `vX.Y.Zrc1` and then with versions `vX.Y.Zrc2`, `vX.Y.Zrc3`...
|
||||
|
||||
## Proper release
|
||||
|
||||
Once the last RC is deemed ready, open an issue with the release template using the last RC version from which you remove the `rc?` part (i.e. `v12.67.19` if your last RC version was `v12.67.19-rc4`) on [github](https://github.com/zama-ai/concretefhe-internal/issues/new?assignees=&labels=&template=release.md).
|
||||
Once the last RC is deemed ready, open an issue with the release template using the last RC version from which you remove the `rc?` part (i.e. `v12.67.19` if your last RC version was `v12.67.19-rc4`) on [github](https://github.com/zama-ai/concrete-framework-internal/issues/new?assignees=&labels=&template=release.md).
|
||||
|
||||
@@ -5,11 +5,11 @@
|
||||
To install **Concrete** from PyPi, run the following:
|
||||
|
||||
```shell
|
||||
pip install concretefhe
|
||||
pip install concrete-framework
|
||||
```
|
||||
|
||||
```{note}
|
||||
Note that **concretefhe** has `pygraphviz` as an optional dependency to draw graphs.
|
||||
Note that **concrete-framework** has `pygraphviz` as an optional dependency to draw graphs.
|
||||
```
|
||||
|
||||
```{WARNING}
|
||||
@@ -24,19 +24,19 @@ Do check <a href="https://pygraphviz.github.io/documentation/stable/install.html
|
||||
You can install the extra python dependencies for drawing with:
|
||||
|
||||
```shell
|
||||
pip install concretefhe[full]
|
||||
pip install concrete-framework[full]
|
||||
# you may need to force reinstallation
|
||||
pip install --force-reinstall concretefhe[full]
|
||||
pip install --force-reinstall concrete-framework[full]
|
||||
```
|
||||
|
||||
## Docker image
|
||||
|
||||
You can also get the **concretefhe** docker image by either pulling the latest docker image or a specific version:
|
||||
You can also get the **concrete-framework** docker image by either pulling the latest docker image or a specific version:
|
||||
|
||||
```shell
|
||||
docker pull zamafhe/concretefhe:latest
|
||||
docker pull zamafhe/concrete-framework:latest
|
||||
# or
|
||||
docker pull zamafhe/concretefhe:v0.2.0
|
||||
docker pull zamafhe/concrete-framework:v0.2.0
|
||||
```
|
||||
|
||||
The image can be used with docker volumes, [see the docker documentation here](https://docs.docker.com/storage/volumes/).
|
||||
@@ -45,10 +45,10 @@ You can then use this image with the following command:
|
||||
|
||||
```shell
|
||||
# Without local volume:
|
||||
docker run --rm -it -p 8888:8888 zamafhe/concretefhe:v0.2.0
|
||||
docker run --rm -it -p 8888:8888 zamafhe/concrete-framework:v0.2.0
|
||||
|
||||
# With local volume to save notebooks on host:
|
||||
docker run --rm -it -p 8888:8888 -v /host/path:/data zamafhe/concretefhe:v0.2.0
|
||||
docker run --rm -it -p 8888:8888 -v /host/path:/data zamafhe/concrete-framework:v0.2.0
|
||||
```
|
||||
|
||||
This will launch a **Concrete** enabled jupyter server in the docker, that you can access from your browser.
|
||||
@@ -56,5 +56,5 @@ This will launch a **Concrete** enabled jupyter server in the docker, that you c
|
||||
Alternatively, you can just open a shell in the docker with or without volumes:
|
||||
|
||||
```shell
|
||||
docker run --rm -it zamafhe/concretefhe:v0.2.0 /bin/bash
|
||||
docker run --rm -it zamafhe/concrete-framework:v0.2.0 /bin/bash
|
||||
```
|
||||
|
||||
@@ -20,11 +20,11 @@ The drawing package required is `pygraphviz` which needs `graphviz` packages ins
|
||||
|
||||
To install the required drawing packages once you have `graphviz` installed run:
|
||||
|
||||
`pip install concretefhe[full]`
|
||||
`pip install concrete-framework[full]`
|
||||
|
||||
You may need to force reinstallation
|
||||
|
||||
`pip install --force-reinstall concretefhe[full]`
|
||||
`pip install --force-reinstall concrete-framework[full]`
|
||||
```
|
||||
|
||||
To draw your circuit, you can do the following:
|
||||
|
||||
Reference in New Issue
Block a user