Skip to main content

FERElight | ˈferēlīt |

pypi

Extremely lightweight and purpose-built feature extraction and retrieval engine (FERE).

Installation

From PyPI

pip install ferelight

From Source

pip install git+https://github.com/FEREorg/ferelight.git

Usage

To configure the pgvector PostgreSQL connection and CORS settings, create a file config.json in the root directory with the following content:

{
  "PORT": 8080,
  "DBHOST": "<host>",
  "DBPORT": "<port>",
  "DBUSER": "<user>",
  "DBPASSWORD": "<password>",
  "CORS": {
    "ENABLED": true,
    "ALLOW_ORIGIN": "*",
    "ALLOW_METHODS": "GET, POST, OPTIONS",
    "ALLOW_HEADERS": "Content-Type, Authorization"
  }
}

Server Configuration Parameters

  • PORT: The port on which the server will listen (default: 8080)

CORS Configuration Parameters

  • ENABLED: Boolean value to enable or disable CORS support (default: false)
  • ALLOW_ORIGIN: Specifies which origins are allowed to access the resource (default: "*")
  • ALLOW_METHODS: Specifies which HTTP methods are allowed (default: "GET, POST, OPTIONS")
  • ALLOW_HEADERS: Specifies which HTTP headers are allowed (default: "Content-Type, Authorization")

Running the Server

To run the server, please execute the following from the root directory:

pip3 install -r requirements.txt
python3 -m ferelight

You can also specify a custom path to the configuration file:

python3 -m ferelight --config /path/to/your/config.json
# or using the short option
python3 -m ferelight -c /path/to/your/config.json

Running with Docker

Using Docker Hub

The Docker image is available on Docker Hub. You can pull and run it directly:

docker pull florianspiess/ferelight:latest
# Using default port (8080)
docker run -p 8080:8080 florianspiess/ferelight:latest
# Or specify a custom port (e.g., 9000) by mapping to the configured port
docker run -p 9000:8080 florianspiess/ferelight:latest

Building Locally

To build and run the server on a Docker container locally, execute the following from the root directory:

# building the image
docker build -t ferelight .

# starting up a container
# Using default port (8080)
docker run -p 8080:8080 ferelight
# Or specify a custom port (e.g., 9000) by mapping to the configured port
docker run -p 9000:8080 ferelight

Development

Releasing New Versions

To release a new version:

  1. Update the version number in ferelight/__init__.py
  2. Create a new GitHub release or tag with a version number (e.g., v1.0.1)
  3. The GitHub Actions workflows will automatically:
    • Build and publish the package to PyPI
    • Build and publish the Docker image to Docker Hub (as both latest and version-specific tags)

Metadata

Release files for ferelight 1.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ferelight 1.3.0
File Size Uploaded
ferelight-1.3.0.tar.gz 15.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ferelight 1.3.0
File Interpreter ABI Platform
ferelight-1.3.0-py3-none-any.whl Python 3 none any Details

Total release size: 38.1 kB

Release files / ferelight-1.3.0.tar.gz

Download URL ferelight-1.3.0.tar.gz
Size 15.3 kB
Tags Source
SHA-256 checksum
How to use checksums
e3fdda944d8ee09fbfda549f9711992e17d6c33782b6a2a4da06466a87b03ad3
BLAKE2b-256 checksum
How to use checksums
9e91d34e0f19b0fd566c6110685cb56a03795111afb592d2bef6ad329bf3f624
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 7, 2025.

Transparency log

Release files / ferelight-1.3.0-py3-none-any.whl

Download URL ferelight-1.3.0-py3-none-any.whl
Size 22.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7959d0338d7cdf55e62b315bab552865cf6584db171a65dc75bb57959aac1f14
BLAKE2b-256 checksum
How to use checksums
cde81e87b359613e51f42d9ba8a5cf7893aa488dae673baf0ff234eb36b80c8b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 7, 2025.

Transparency log

Release history Release notifications | RSS feed

This release

1.3.0 This release

2 release files

1.2.1

2 release files

1.2.0

2 release files

1.1.0

2 release files

1.0.5

2 release files

1.0.4

2 release files

1.0.3

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page