Skip to main content

mychef


builds.sr.ht status PyPI - Version License: AGPL v3

Minimal, libre recipe recommendation app.

The goal is simple: enter in ingredients you have and get back tasty recipes.

Features

  • JSON API for adding recipes with an authenticated user.
  • Offer CLI for managing users and app state.
  • Expose configuration options through environment variables.

Roadmap

  • Web interface for managing recipes.
  • Filtering of recipes based on ingredient input.
  • Sample web scraper for uploading recipes.

Quickstart

Install package:

pip install mychef

Initialize application:

mychef init

Add a user:

mychef users add

Launch application server:

mychef run

Configuration

You can configure parts of the application in the shell environment. Here's an example .env:

# Logging
LOG_LEVEL="info"

# Database
DB_PATH="/./mychef.db"

# Security
SECRET_ALGORITHM="HS256"
SECRET_KEY="<generated-when-initializing-app>"
SECRET_KEY_N_BYTES=32

Development

The easiest way to develop locally with mychef is to use hatch. With hatch, you will have access to important helper scripts for running locally, linting, type-checks, testing, etc.

Testing

Lint and check types with:

hatch run types:check

Run test suite:

hatch run test

Database Management

To upgrade the local database to latest schema, run:

hatch run db:upgrade

Now that the tables are created, you can add fixtures:

hatch run db:fixtures

If you add or update a table, you can generate a migration script by running:

hatch run db:migration

If the migration script wasn't generated, check to see if you imported the model to env.py.

Local Server

Run the application server locally with:

hatch run dev

The server should reload on changes to the source code.

License

mychef is distributed under the terms of the AGPLv3 license.

Metadata

Release files for mychef 0.1.1

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

Source distribution (sdist)

Source distribution for mychef 0.1.1
File Size Uploaded
mychef-0.1.1.tar.gz 28.7 kB Details

Built distribution (wheel)

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

Total release size: 60.0 kB

Release files / mychef-0.1.1.tar.gz

Download URL mychef-0.1.1.tar.gz
Size 28.7 kB
Tags Source
SHA-256 checksum
How to use checksums
6adffe73379e12ddccc7b094ca2c98ce80ba268fae21479f16d08cf68a3b49aa
BLAKE2b-256 checksum
How to use checksums
7f0f97b4fff74c656bb8d6d7b232ed1c508127af60043144a1df2eaf37bcb1ac
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via python-httpx/0.26.0

Release files / mychef-0.1.1-py3-none-any.whl

Download URL mychef-0.1.1-py3-none-any.whl
Size 31.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a8bfaf938cc8952a3661b179853b16b74595cae26d75a3f1d020d16d65afe022
BLAKE2b-256 checksum
How to use checksums
f5f23d08f2687861ec2d45ec7df26df13718152b1e191f6e6cea6605c882e3a9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via python-httpx/0.26.0

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

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