Skip to main content

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

Project description

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)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ferelight-1.2.1.tar.gz (15.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ferelight-1.2.1-py3-none-any.whl (22.8 kB view details)

Uploaded Python 3

File details

Details for the file ferelight-1.2.1.tar.gz.

File metadata

  • Download URL: ferelight-1.2.1.tar.gz
  • Upload date:
  • Size: 15.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for ferelight-1.2.1.tar.gz
Algorithm Hash digest
SHA256 6c4987a70032eb1cf53dc7f701ea9c14e02d981591525a5b19e202c66112e4a8
MD5 beca3d97714f429047b9405a4fa77c91
BLAKE2b-256 a854e821866814132ed1e7444d62ee49c5aba51240f984cd3c502a863790d3cb

See more details on using hashes here.

Provenance

The following attestation bundles were made for ferelight-1.2.1.tar.gz:

Publisher: publish.yml on FEREorg/ferelight

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ferelight-1.2.1-py3-none-any.whl.

File metadata

  • Download URL: ferelight-1.2.1-py3-none-any.whl
  • Upload date:
  • Size: 22.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for ferelight-1.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 359bc81d1ca7bd3337c38582e20022d46067f3edfcaaa71c5a2cef8297d15bd7
MD5 6b0151aea9f22b5e3986d2626eaf09b3
BLAKE2b-256 3db7aafa8b864be87ce264a564abbc5c43a0a613d3382058e02e2dcab535acdf

See more details on using hashes here.

Provenance

The following attestation bundles were made for ferelight-1.2.1-py3-none-any.whl:

Publisher: publish.yml on FEREorg/ferelight

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page