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)

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.3.0.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.3.0-py3-none-any.whl (22.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: ferelight-1.3.0.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.3.0.tar.gz
Algorithm Hash digest
SHA256 e3fdda944d8ee09fbfda549f9711992e17d6c33782b6a2a4da06466a87b03ad3
MD5 886b53ada9c9b7ac7331a6e1c36bd4e1
BLAKE2b-256 9e91d34e0f19b0fd566c6110685cb56a03795111afb592d2bef6ad329bf3f624

See more details on using hashes here.

Provenance

The following attestation bundles were made for ferelight-1.3.0.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.3.0-py3-none-any.whl.

File metadata

  • Download URL: ferelight-1.3.0-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.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7959d0338d7cdf55e62b315bab552865cf6584db171a65dc75bb57959aac1f14
MD5 9414afe6fc18eb8613ee1e6e301239e6
BLAKE2b-256 cde81e87b359613e51f42d9ba8a5cf7893aa488dae673baf0ff234eb36b80c8b

See more details on using hashes here.

Provenance

The following attestation bundles were made for ferelight-1.3.0-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.

Release history Release notifications | RSS feed

This release

1.3.0 This release

2 files

1.2.1

2 files

1.2.0

2 files

1.1.0

2 files

1.0.5

2 files

1.0.4

2 files

1.0.3

2 files

1.0.2

2 files

1.0.1

2 files

1.0.0

2 files

Supported by

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