# Readme pynkode is a tutorial of how nkode works. There are jupyter notebooks in /notebooks covering these topics: - dispersion - nkode enrollment, login, and renewal - split shuffle ## Installation - Python version 3.10 or greater is required - Install pyenv or conda for environment management ### Option 1: Using conda ```bash # Create a new conda environment named pynkode conda create -n pynkode python=3.10 # Activate the environment conda activate pynkode # Install the requirements pip install -r requirements.txt ``` ### Option 2: Using pyenv ```bash # Install Python 3.10 using pyenv pyenv install 3.10.0 # Create a virtualenv named pynkode pyenv virtualenv 3.10.0 pynkode # Set the local version to pynkode pyenv local pynkode # Install the requirements pip install -r requirements.txt ``` ## Starting a Jupyter Notebook ### Option 1: Using classic Jupyter Notebook ```bash # Ensure your environment is activated # For conda: conda activate pynkode # For pyenv: (should be automatic if in the directory) # Start the Jupyter Notebook server jupyter notebook ``` ### Option 2: Using JupyterLab ```bash # Ensure your environment is activated # Start JupyterLab jupyter lab ``` ## Exploring the Tutorials 1. Navigate to the `/notebooks` directory in the Jupyter interface 2. Open the tutorials in the following recommended order: - `Enrollment_Login_Renewal.ipynb` - Learn how to manage user accounts in nkode - `Dispersion.ipynb` - Understand the basic concepts of dispersion in nkode - `Split_Shuffle.ipynb` - Explore the split shuffle functionality