BSD Ports

devel/py-confection0 0.1.5 FreeBSD

Sweetest config system for Python

System
FreeBSD
Repository
FreeBSD ports
Maintainer
[email protected]
License
MIT
Categories
devel, python
Package size
84.7 KiB, 404.8 KiB installed

Description

confection is a lightweight library that offers a configuration system letting you conveniently describe arbitrary trees of objects.

Configuration is a huge challenge for machine-learning code because you may want to expose almost any detail of any function as a hyperparameter. The setting you want to expose might be arbitrarily far down in your call stack, so it might need to pass all the way through the CLI or REST API, through any number of intermediate functions, affecting the interface of everything along the way. And then once those settings are added, they become hard to remove later. Default values also become hard to change without breaking backwards compatibility.

To solve this problem, confection offers a config system that lets you easily describe arbitrary trees of objects. The objects can be created via function calls you register using a simple decorator syntax. You can even version the functions you create, allowing you to make improvements without breaking backwards compatibility. The most similar config system we're aware of is Gin, which uses a similar syntax, and also allows you to link the configuration system to functions in your code using a decorator. confection's config system is simpler and emphasizes a different workflow via a subset of Gin's functionality.

In the other systems

SystemPortVersion
FreeBSDdevel/py-confection00.1.5
HardenedBSDdevel/py-confection00.1.5
GhostBSDdevel/py-confection00.1.5

Install

Binary package:

pkg install py312-confection0

From the ports tree:

cd /usr/ports/devel/py-confection0/ && make install clean

To depend on this port in another port's Makefile:

RUN_DEPENDS=	py312-confection0>0:devel/py-confection0

Packages

The version each package repository carries. “-” means the repository builds no package of it, “n/a” that there is no such repository.

Repositoryaarch64amd64armv6armv7i386
FreeBSD:14:latest0.1.50.1.5--0.1.5
FreeBSD:14:quarterly0.1.50.1.5n/a-0.1.5
FreeBSD:15:latest0.1.50.1.5n/a--
FreeBSD:15:quarterly0.1.50.1.5n/an/an/a
FreeBSD:16:latest0.1.50.1.5n/an/an/a
FreeBSD:16:quarterlyn/an/an/an/an/a

Dependencies

As this port's Makefile names them.

Build 2

Runtime 2

The full lists below include those, and their dependencies in turn.

Build dependencies 16
Run dependencies 14
Required by 1

Configuration

No options to configure.

USES
python
Service scripts
none

Files

distinfo 1
FileSizeSHA256
confection-0.1.5.tar.gz389248e72dd3ca6bd4f48913cd220f10b8275978e740411654b6e8ca6d7008c590f0e
Master sites 1
  • PYPI

Commit history 0

No commits in the history this site was built from.