-
-
Notifications
You must be signed in to change notification settings - Fork 260
Open
Description
There are many tools in the python ecosystem adopting pyproject.toml files. I like to have static configuration when I can and I like to keep things clean and tidy. I am trying to do it with pyproject.toml. It would be very convenient to support pyproject.toml.
I don't have a great TOML design in my mind but I converted a YAML config from the tests and added tool.webassets prefix. Here are the results:
test_load_bundles:
standard:
filters: cssmin,jsmin
output: output.css
contents:
- file1
- file2
empty-bundle:
single-content-as-string-bundle:
contents: only-this
nested:
output: nested.css
filters: cssmin
contents:
- cssfile1
- filters: less
contents:
- lessfile1
- lessfile2
- contents: reallynested.css
config:
closure_bin: /tmp/closure
- lessfile3[tool.webassets.standard]
filters = "cssmin,jsmin"
output = "output.css"
contents = ["file1", "file2"]
[tool.webassets.single-content-as-string-bundle]
contents = "only-this"
[tool.webassets.nested]
output = "nested.css"
filters = "cssmin"
contents = [
"cssfile1",
{ filters = "less", contents = [
"lessfile1",
"lessfile2",
{ contents = "reallynested.css", config = { closure_bin = "/tmp/closure" } },
"lessfile3",
] },
]test_load_recursive_bundles
standard:
filters: cssmin,jsmin
output: output.css
contents:
- file1
- file2
recursive:
output: recursive.css
filters: jsmin
contents:
- cssfile1
- standard
- cssfile2[tool.webassets.standard]
filters = "cssmin,jsmin"
output = "output.css"
contents = [ "file1", "file2" ]
[tool.webassets.recursive]
output = "recursive.css"
filters = "jsmin"
contents = [ "cssfile1", "standard", "cssfile2" ]test_load_environment
url: /foo
directory: something
versions: 'timestamp'
auto_build: true
url_expire: true
config:
compass_bin: /opt/compass
bundles:
test:
output: foo[tool.webassets]
url = "/foo"
directory = "something"
versions = "timestamp"
auto_build = true
url_expire = true
[tool.webassets.config]
compass_bin = "/opt/compass"
[tool.webassets.bundles.test]
output = "foo"test_load_environment_directory_base
url: /foo
directory: ../something[tool.webassets]
url = "/foo"
directory = "../something"test_load_extra_default
foo:
output: foo[tool.webassets.foo]
output = "foo"We can use pydantic-settings to extract, parse and validate the configuration. Checkout the related documentation.
Metadata
Metadata
Assignees
Labels
No labels