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.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.

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