Files
herolib_python/pythonsetup
2025-08-20 05:49:47 +02:00
..
...
2025-08-20 04:32:30 +02:00
...
2025-08-20 04:32:30 +02:00
...
2025-08-20 05:49:47 +02:00
...
2025-08-20 04:32:30 +02:00
...
2025-08-20 04:32:30 +02:00
...
2025-08-20 04:32:30 +02:00

Python Example setup

This repository contains the setup scripts and configuration files for how we use python in threefold/ourworld

./install.sh

This script will:

  1. Check if uv is installed (a fast Python package installer and resolver)
  2. Install uv if it's not found
  3. Initialize a uv project if pyproject.toml doesn't exist
  4. Sync all project dependencies using uv sync
  5. Install the herolib package from git repository
  6. Create necessary directories: (remove if you don't need this for your project)
    • static/css, static/js, static/images for static assets
    • templates for HTML templates
    • md for markdown files

check how we install herolib here

  • pip install git+https://github.com/ThreeFoldTech/herolib.git and also have support for the local checked out version

Running the Server

Production Mode

To start the server in production mode, run:

./start_server.sh

This script will:

  1. Set environment variables for production
  2. Check and free port 9922 if it's in use
  3. Start the web server on port 9922
  4. Make the server available at http://localhost:9922

Development/Debug Mode

To start the server in development/debug mode, run:

./start_server_debug.sh

This script will:

  1. Set environment variables for development
  2. Enable debug mode
  3. Check and free port 9922 if it's in use
  4. Start the web server on port 9922 with debug options
  5. Make the server available at http://localhost:9922

Environment Setup

The pipenv.sh script is automatically sourced by the startup scripts and handles:

  1. Setting the PYTHONPATH to include the src directory
  2. Creating a virtual environment with uv if it doesn't exist
  3. Activating the virtual environment