Changelog

Since we follow Conventional Commits for commit messages, we can automatically create releases of the Python package based on those messages. The releases are also published to Zenodo for easier discovery, archiving, and citation.

We use Cocogitto to automate releases, which uses SemVar as the version numbering scheme, and Git Cliff to generate the changelog from commit messages.

Because releases are generated automatically, new versions are released often—sometimes several times in a day— and each release usually contains only a small number of changes. Below is a list of the releases and the changes within each one.

Commits from bots, like dependabot or pre-commit-ci, are not included in the changelog.

0.52.9 - 2026-10-15

♻️ Refactor

  • Simplify and rename extract_column_metadata() function #1859 (29a86cf)

📝 Documentation

0.52.8 - 2026-10-15

♻️ Refactor

📝 Documentation

  • Update overall design of Sprout to match current focus #1853 (76a821c)
  • Update output interface design to match current direction #1861 (cffe009)
  • Update inputs design interface to match current design #1868 (d6d5c98)

🧪 Tests

  • Remove tests for deeply internal functions #1866 (9723cf2)

0.52.7 - 2026-10-14

♻️ Refactor

  • Move check function into where it is mainly used #1873 (024bf94)

0.52.6 - 2026-10-14

♻️ Refactor

0.52.5 - 2026-10-14

♻️ Refactor

0.52.4 - 2026-10-14

♻️ Refactor

0.52.3 - 2026-10-14

♻️ Refactor

  • Move check constants into file they are used #1872 (ccc2851)

0.52.2 - 2026-10-14

♻️ Refactor

  • Switch to resource-name.parquet as default #1862 (cc5effb)

0.52.1 - 2026-10-14

♻️ Refactor

  • Remove use of dedent(), TOML is the recommended way now #1878 (8c1819a)

0.52.0 - 2026-10-14

✨ Features

🐛 Fixes

♻️ Refactor

  • Remove write_resource_batch(), as we read from staging #1759 (f782b84)
  • Remove unused read_resource_data() #1779 (044af87)
  • Rename from batches to staging #1762 (7acc3b3)
  • Simplify create_*_properties() functions into init.py file #1802 (dbd368d)
  • Remove use of sprout shortform for better security #1823 (ab86aed)
  • Remove use of PackagePath and ExamplePackage #1805 (a1a9849)

📝 Documentation

  • Remove glossary, moving it into internal repo #1730 (df0072c)
  • Update docs from template, mostly formatting changes #1746 (4b67287)
  • Remove highly coupled example code in docstrings #1758 (0819ff4)
  • Add design of extract metadata CLI #1763 (2fbe3d5)
  • Formatted Markdown, including in docstrings, with edits #1755 (c974a89)
  • Fix Markdown formatting, issue with formatter and def lists #1775 (7a23965)
  • Add design of init-metadata CLI #1777 (9bc7886)
  • Update install guide to match current practices #1782 (7aa1096)
  • Remove use of PackagePaths objects from design #1797 (670af81)
  • Remove create_*_scripts() from guides, use CLI instead #1799 (61d4406)
  • Add design of build-resources #1819 (c12d99b)
  • Expand on deleting obs unit, move into inputs.qmd #1820 (b46def5)
  • Remove no longer relevant design docs #1867 (eb55421)
  • Update overview page to reflect current use #1871 (076916c)
  • Update landing page and README intros to Sprout #1870 (6eb65f6)
  • Updates to Python interface design to match current designs #1881 (89c9d30)

💄 Style

👷 CI/CD

🧱 Build system

🧹 Chores

0.50.1 - 2026-05-19

♻️ Refactor

🧱 Build system

0.49.7 - 2026-04-27

♻️ Refactor

0.49.6 - 2026-04-22

♻️ Refactor

  • Rename Properties classes to be more specific #1698 (b28dead)

0.49.5 - 2026-04-21

♻️ Refactor

🧹 Chores

0.49.4 - 2026-04-15

♻️ Refactor

0.49.3 - 2026-04-09

♻️ Refactor

0.49.2 - 2026-03-20

🐛 Fixes

📝 Documentation

💄 Style

🧱 Build system

🧹 Chores

0.49.1 - 2026-01-06

🐛 Fixes

📝 Documentation

0.49.0 - 2025-12-08

✨ Features

📝 Documentation

🧪 Tests

  • Fix failing test by adding scale and precision to pl.Decimal #1568 (56e72bf)

👷 CI/CD

🧱 Build system

🧹 Chores

0.48.1 - 2025-09-01

⏪ Revert

  • Keep Sprout-specific text (cb318f3)

♻️ Refactor

  • Apply changes from copier template (2fd256f)

🧹 Chores

0.48.0 - 2025-08-25

✨ Features

0.47.3 - 2025-08-19

🐛 Fixes

  • Improve badge quality by setting them as SVGs #1507 (5080c15)

0.47.2 - 2025-08-18

🐛 Fixes

  • Revert syncing with template-python-package #1508 (82ca4eb)

📝 Documentation

  • Update tagline and expand on CITATION title #1497 (c3457b1)

🧱 Build system

  • Need to include rendering the 404 page #1499 (1841093)
  • Build readme as a justfile recipe, not Quarto config #1498 (52bb8e6)

🧹 Chores

  • (sync) Synced file(s) with seedcase-project/template-python-package (cd49f11)
  • (sync) Synced file(s) with seedcase-project/template-python-package (1ebb6f2)

0.47.1 - 2025-07-25

🐛 Fixes

0.47.0 - 2025-07-25

✨ Features

  • Dedent resource and field descriptions in write_properties() #1488 (85eb980)

📝 Documentation

  • Fix badge quality by using svg instead of png #1489 (f7b23cc)

0.46.6 - 2025-07-23

📝 Documentation

🧹 Chores

  • (sync) Synced file(s) with seedcase-project/template-python-package (978d06a)

0.46.5 - 2025-07-23

♻️ Refactor

  • Rename properties script to package_properties.py #1482 (e2b3550)

🧹 Chores

  • (sync) Synced file(s) with seedcase-project/template-python-package (26ae700)

0.46.4 - 2025-07-23

🐛 Fixes

  • Dedent description in as_readme_text() and write_properties() #1476 (cfddf43)

📝 Documentation

🧹 Chores

  • (sync) Synced file(s) with seedcase-project/template-python-package (8df35cd)
  • (sync) Synced file(s) with seedcase-project/template-python-package (7ce555e)
  • (sync) Synced file(s) with seedcase-project/template-python-package (2928948)
  • (sync) Synced file(s) with seedcase-project/template-python-package (0675e13)
  • (sync) Synced file(s) with seedcase-project/template-python-package (6fe4941)
  • Add ORCID for Signe #1474 (18eeeea)

0.46.3 - 2025-07-03

♻️ Refactor

📝 Documentation

  • Rename leftovers and move field_properties into ResourceProperties #1446 (916ad1a)
  • Use correct command in docstring #1453 (c8fa03b)
  • Update resource guide #1449 (b91937a)
  • Update the flow docs to match latest changes #1452 (bcd19a4)
  • Need code to create resource_properties_patients object #1458 (4d93dce)

🧱 Build system

  • Should be patients, not patient #1447 (ebc49ba)
  • Don’t need warning about docs being “experimental” #1451 (3b38d4d)
  • Update dependency versions in uv lock and pre-commit #1454 (0fff19c)

🧹 Chores

  • (sync) Synced file(s) with seedcase-project/template-python-package (6d0bca4)
  • (sync) Synced file(s) with seedcase-project/template-python-package (de9913c)
  • (sync) Synced file(s) with seedcase-project/seedcase-theme (ed1dff4)

0.46.2 - 2025-06-30

♻️ Refactor

  • Simplify extraction to field properties only #1443 (25682a0)

0.46.1 - 2025-06-30

🐛 Fixes

0.46.0 - 2025-06-26

✨ Features

📝 Documentation

0.45.2 - 2025-06-26

♻️ Refactor

📝 Documentation

👷 CI/CD

🧹 Chores

  • (sync) Synced file(s) with seedcase-project/seedcase-theme #1426 (3c93346)
  • (sync) Synced file(s) with seedcase-project/template-python-package #1435 (66980a0)

0.45.1 - 2025-06-24

♻️ Refactor

  • Convert to internal functions with _ prefix #1423 (8f20b0d)

📝 Documentation

🧹 Chores

0.45.0 - 2025-06-23

✨ Features

📝 Documentation

0.44.12 - 2025-06-23

♻️ Refactor

0.44.11 - 2025-06-23

♻️ Refactor

📝 Documentation

0.44.10 - 2025-06-20

🐛 Fixes

  • Change fields_match to be an array in extract_resource_properties() #1392 (cebf1f1)

📝 Documentation

0.44.9 - 2025-06-19

🐛 Fixes

📝 Documentation

🧹 Chores

0.44.8 - 2025-06-12

♻️ Refactor

  • Don’t overwrite the properties.py script #1383 (ee9f738)

📝 Documentation

🧹 Chores

0.44.7 - 2025-06-11

♻️ Refactor

  • Import from internals only, not sub-modules of it #1382 (9c76642)

🧱 Build system

  • Fix name to create_properties_script in _quarto.yml #1379 (daedd15)

0.44.6 - 2025-06-11

🐛 Fixes

0.44.5 - 2025-06-10

♻️ Refactor

📝 Documentation

0.44.4 - 2025-06-10

🐛 Fixes

  • Forgot to quote the function in __all__.py #1380 (d53c092)

👷 CI/CD

🧹 Chores

  • (sync) Synced file(s) with seedcase-project/template-python-package (6aa9f50)

0.44.3 - 2025-06-06

♻️ Refactor

0.44.2 - 2025-06-06

♻️ Refactor

0.44.1 - 2025-06-03

♻️ Refactor

📝 Documentation

🧱 Build system

  • Re-arrange the reference sidebar to be a bit cleaner #1349 (880f477)
  • Update quartodoc config with current functions #1365 (3a43f1e)
  • Add jinja2 dependency explicitly #1372 (3cb3980)

🧹 Chores

  • (sync) Synced file(s) with seedcase-project/seedcase-theme (f5646db)

0.44.0 - 2025-05-30

✨ Features

0.43.6 - 2025-05-28

♻️ Refactor

📝 Documentation

  • Update package guide and remove update section #1357 (7f5aa5f)

0.43.5 - 2025-05-28

♻️ Refactor

  • Remove update_package_properties() and revise docs #1355 (ef58bfd)

📝 Documentation

0.43.4 - 2025-05-27

♻️ Refactor

  • Simplify and make check_datapackage self-contained #1342 (795fa77)

📝 Documentation

🧹 Chores

  • (sync) Synced file(s) with seedcase-project/seedcase-theme (910dc96)
  • (sync) Synced file(s) with seedcase-project/seedcase-theme (1fa54ff)
  • (sync) Synced file(s) with seedcase-project/template-python-package (9c88643)
  • Remove leftover code #1341 (b20c989)

0.43.3 - 2025-05-22

♻️ Refactor

0.43.2 - 2025-05-22

♻️ Refactor

  • Action of create_resource_structure() into write_resource_batch() #1295 (9172284)

0.43.1 - 2025-05-21

♻️ Refactor

  • Update extract_resource_properties() to take pl.DataFrame #1264 (d6861a7)

0.43.0 - 2025-05-21

✨ Features

🧱 Build system

🧹 Chores

  • (sync) Synced file(s) with seedcase-project/seedcase-theme (107c6be)
  • (sync) Synced file(s) with seedcase-project/template-python-package (8cd5191)

0.42.5 - 2025-05-19

🐛 Fixes

  • Raise a more informative error when the data list is empty #1308 (0f93d3f)

🧱 Build system

  • Add vulture to dev with just recipe to check for unused code #1330 (190ed93)

🧹 Chores

  • (sync) Synced file(s) with seedcase-project/template-python-package (384678a)
  • (sync) Synced file(s) with seedcase-project/seedcase-theme (7235d51)

0.42.4 - 2025-05-13

🐛 Fixes

  • Resolve temp paths so tests pass on MacOS as well #1322 (c177369)

🧹 Chores

  • (sync) Synced local ‘.pre-commit-config.yaml’ with remote ‘.pre-commit-config.yaml’ (4861874)
  • (sync) Synced local ‘.github/workflows/update-version.yml’ with remote ‘.github/workflows/update-version.yml’ (65578f9)

0.42.3 - 2025-05-01

♻️ Refactor

  • Have a default method only for PackageProperties #1304 (6474fe4)

👷 CI/CD

0.42.2 - 2025-04-30

🐛 Fixes

  • Do not escape non-ASCII characters when writing JSON #1305 (e75489b)

0.42.1 - 2025-04-25

♻️ Refactor

0.42.0 - 2025-04-25

✨ Features

0.41.2 - 2025-04-24

♻️ Refactor

  • Moved functions into internals/location of use #1298 (62bdc55)

🧱 Build system

0.41.1 - 2025-04-24

♻️ Refactor

  • Make master Frictionless - Polars type map #1284 (6077f2f)

0.41.0 - 2025-04-23

✨ Features

🧱 Build system

  • Move pytest config to its own pytest.ini file #1294 (281ff87)

🧹 Chores

0.40.1 - 2025-04-22

🐛 Fixes

  • Fixed bandit flagged issues, moved dataclass gen into tools/ #1292 (ab09a38)

🧱 Build system

🧹 Chores

  • (sync) Synced local ‘.gitignore’ with remote ‘.gitignore’ (9d665af)
  • (sync) Synced local ‘justfile’ with remote ‘justfile’ (72f82ed)
  • (sync) Synced local ‘.github/workflows/build-package.yml’ with remote ‘.github/workflows/build-package.yml’ (5b963f5)
  • (sync) Synced local ‘justfile’ with remote ‘justfile’ (c4b6fcd)
  • Delete unused file #1286 (f5919d0)

0.40.0 - 2025-04-16

✨ Features

  • Only return .parquet files in the batch folder #1283 (ea66a77)

0.39.0 - 2025-04-16

✨ Features

  • Finish up PackagePath and resource_batch_files() #1282 (5b89d52)

0.38.3 - 2025-04-15

♻️ Refactor

  • Move check_properties.py into root code folder #1278 (b040932)

0.38.2 - 2025-04-15

♻️ Refactor

0.38.1 - 2025-04-15

♻️ Refactor

  • Move all check_data() internals into same file #1275 (096e2da)

0.38.0 - 2025-04-15

✨ Features

0.37.1 - 2025-04-15

♻️ Refactor

0.37.0 - 2025-04-15

✨ Features

♻️ Refactor

  • Move read_* functions (one) into internal module #1273 (d539239)

🧹 Chores

0.36.3 - 2025-04-15

♻️ Refactor

0.36.2 - 2025-04-15

♻️ Refactor

0.36.1 - 2025-04-15

♻️ Refactor

🧪 Tests

  • Remove duplicate tests on check_* functionality #1256 (a99acdc)

🧱 Build system

  • Needs to be numeric in order to build the website #1269 (ae3ddb2)

0.36.0 - 2025-04-14

✨ Features

0.35.0 - 2025-04-14

✨ Features

0.34.0 - 2025-04-14

✨ Features

0.33.0 - 2025-04-14

✨ Features

  • Use check_data() in read_resource_batches() #1263 (ecc2787)

0.32.2 - 2025-04-11

♻️ Refactor

0.32.1 - 2025-04-11

♻️ Refactor

0.32.0 - 2025-04-11

✨ Features

0.31.0 - 2025-04-11

✨ Features

📝 Documentation

🧱 Build system

🧹 Chores

0.30.0 - 2025-04-09

✨ Features

🧹 Chores

  • (sync) Synced local ‘.gitignore’ with remote ‘.gitignore’ (ad63c1f)
  • (sync) Synced local ‘.github/workflows/add-to-project.yml’ with remote ‘.github/workflows/add-to-project.yml’ (7366b21)

0.29.1 - 2025-04-08

🐛 Fixes

0.29.0 - 2025-04-07

✨ Features

  • Add read_resource_batches() - without check_data() #1201 (81b7b13)

📝 Documentation

0.28.2 - 2025-04-07

♻️ Refactor

  • Clean split of check_datapackage sub-package #1239 (8ab50aa)

📝 Documentation

0.28.1 - 2025-04-04

♻️ Refactor

  • Convert path_ functions into class without checks #1173 (aa5736f)

📝 Documentation

0.28.0 - 2025-03-31

✨ Features

0.27.1 - 2025-03-31

♻️ Refactor

  • Remove multi-user features, we won’t be doing them #1216 (4096754)

📝 Documentation

🧱 Build system

  • Forgot to update the args for this function #1217 (264be6d)

🧹 Chores

  • (sync) Synced local ‘.pre-commit-config.yaml’ with remote ‘.pre-commit-config.yaml’ (7f4f24e)
  • (sync) Synced local ‘.editorconfig’ with remote ‘.editorconfig’ (f61eed3)
  • (sync) Synced local ‘justfile’ with remote ‘justfile’ (10f6da2)
  • (sync) Synced local ‘.editorconfig’ with remote ‘.editorconfig’ (3266017)
  • (sync) Synced local ‘justfile’ with remote ‘justfile’ (447b0c9)

0.27.0 - 2025-03-27

✨ Features

0.26.9 - 2025-03-27

🐛 Fixes

  • Check that package and resource properties are dicts #1179 (3c3ccf7)

0.26.8 - 2025-03-27

♻️ Refactor

📝 Documentation

  • Add flow diagram for extracting resource properties #1160 (334ca00)

0.26.7 - 2025-03-27

♻️ Refactor

  • Remove create_package_properties() and replace it with write_*() #1153 (6ae341a)

📝 Documentation

🧹 Chores

  • Use asterisk to include all guides in sidebar #1199 (52af555)

0.26.6 - 2025-03-24

♻️ Refactor

📝 Documentation

0.26.5 - 2025-03-21

♻️ Refactor

📝 Documentation

🧹 Chores

0.26.4 - 2025-03-19

♻️ Refactor

0.26.3 - 2025-03-19

♻️ Refactor

  • Remove original extension and .gz from batch file names #1147 (0938d74)

📝 Documentation

🧹 Chores

  • (sync) Synced local ‘_extensions/seedcase-project/seedcase-theme/’ with remote ‘_extensions/seedcase-theme/’ (effcf5d)
  • (sync) Synced local ‘_extensions/seedcase-project/seedcase-theme/’ with remote ‘_extensions/seedcase-theme/’ (51b39aa)

0.26.2 - 2025-03-18

♻️ Refactor

📝 Documentation

0.26.1 - 2025-03-17

♻️ Refactor

  • Major refactor of path functions to be local-first #1114 (f77b2ef)

📝 Documentation

  • Add start of the creating resources guide #810 (07673cd)

0.26.0 - 2025-03-17

✨ Features

📝 Documentation

  • Update example in create_resource_structure() #1121 (5ef6748)

0.24.0 - 2025-03-12

✨ Features

📝 Documentation

0.23.0 - 2025-03-10

✨ Features

  • Make build_readme_text() and write_file() public #1119 (e827b13)

📝 Documentation

💄 Style

0.22.0 - 2025-03-06

✨ Features

  • Add mapping from Frictionless data types to Polars data types #1106 (eca3dbd)

0.21.1 - 2025-03-05

🐛 Fixes

  • Only remove qmd files in reference post render to fix md formatting issues #1107 (52092ac)

0.21.0 - 2025-03-04

✨ Features

0.20.1 - 2025-03-04

♻️ Refactor

  • Rename create_readme_text() to build_readme_text() #1099 (9204b9d)

🧹 Chores

  • Remove “geojson”, “topojson”, and “ods” from SUPPORTED_FORMATS #1097 (64e14a7)

0.20.0 - 2025-02-26

✨ Features

  • Extract resource properties from .json, .ndjson, and .jsonl files #1085 (5d0bca4)

🧱 Build system

  • Enable properties extraction from Excel files #1081 (e01bbaa)

0.19.0 - 2025-02-24

✨ Features

  • Add conversion from resource properties to Pandera schema #1051 (798bab0)

📝 Documentation

0.18.2 - 2025-02-24

♻️ Refactor

  • Switch create_package_structure() to make properties only #1047 (5621497)

0.18.1 - 2025-02-24

♻️ Refactor

  • Convert example_package_properties to function #1046 (719ee21)

📝 Documentation

🧪 Tests

0.18.0 - 2025-02-21

✨ Features

  • Add initial extract_resource_properties() (csv, tsv, and parquet files) #1067 (e7993cc)

📝 Documentation

🧹 Chores

  • (sync) Synced local ‘_extensions/seedcase-project/seedcase-theme/’ with remote ‘_extensions/seedcase-theme/’ (427589b)
  • Add website visit counter #1069 (f95190b)
  • Remove unused Data Package standard elements #1066 (9e17eef)
  • Remove leftover security design file #1073 (366b408)

0.17.0 - 2025-02-19

✨ Features

📝 Documentation

  • Pseudo code and docstring for write_resource_parquet() #816 (71f451a)

🧱 Build system

  • This should be in post-render, not pre (27998f5)
  • Use Poetry v2 sync (recommended over install) (f27b18f)

🧹 Chores

  • (sync) Synced local ‘.editorconfig’ with remote ‘.editorconfig’ (97f3745)
  • (sync) Synced local ‘justfile’ with remote ‘justfile’ (197746c)
  • (sync) Synced local ‘.cz.toml’ with remote ‘.cz.toml’ (8257fd0)
  • (sync) Synced local ‘LICENSE.md’ with remote ‘LICENSE.md’ (30b2b8a)
  • (sync) Synced local ‘.vscode/’ with remote ‘.vscode/’ (4ba7585)
  • Move to src/ layout #1052 (fa92e90)
  • Ran poetry sync (89d7899)
  • Small build fixes #1062 (75c5994)

0.16.0 - 2025-02-12

✨ Features

📝 Documentation

💄 Style

  • Refactor so WIP status of interface are icons #1041 (86ae5d0)

0.15.0 - 2025-02-12

✨ Features

📝 Documentation

  • Forgot to rename path_properties() in docs (f4ab145)
  • The ResourceProperties needs title and description (de31cac)
  • Don’t eval this example, needs update after ‘local-first’ (653a118)
  • Don’t eval this code chunk, it was causing website build error (fd62057)
  • Package guide #1001 (d386b3a)
  • Move text into docstrings, remove leftover resource .puml #1016 (8460333)
  • Indicate which functions aren’t done #1017 (da0a6b8)
  • Remove references to CLI or app #1013 (3e9c6ce)
  • Update installation guide, plus add pipx instructions #1014 (0d95098)
  • Convert from PlantUML into pseudocode #1019 (2895ebc)
  • Convert .puml C4 diagrams into Mermaid #1023 (aa93b62)
  • Move .puml into pseudocode #1021 (8a3f8a0)

💄 Style

  • Ran just-all and reformatted code (80c29fe)

🧹 Chores

  • (sync) Synced local ‘_extensions/seedcase-project/seedcase-theme/’ with remote ‘_extensions/seedcase-theme/’ (a5f02e6)
  • Extensions are now bundled with our extension #1025 (17504b5)
  • Simplify name of file to just ‘functions’ #1022 (dfa4d4e)

0.14.3 - 2025-01-28

♻️ Refactor

📝 Documentation

  • Move user types over into user personas document #994 (cdeb2ed)
  • Update path design to match ‘local-first’ #1009 (02bc68e)

0.14.2 - 2025-01-28

♻️ Refactor

📝 Documentation

🧹 Chores

  • (sync) Synced local ‘_extensions/seedcase-project/seedcase-theme/’ with remote ‘_extensions/seedcase-theme/’ (ecd7227)

0.14.1 - 2025-01-27

♻️ Refactor

  • Make schema path resolve when working directory different #1000 (83019a0)

📝 Documentation

🧹 Chores

  • Remove old verify functions and related error #1002 (9c7a494)

0.14.0 - 2025-01-27

✨ Features

0.13.3 - 2025-01-27

♻️ Refactor

  • Use checks in write_resource_properties() #990 (c10d053)

0.13.2 - 2025-01-27

♻️ Refactor

  • Use new checks in create_resource_properties() #988 (2361dc5)

0.13.1 - 2025-01-27

♻️ Refactor

  • Use check functions in edit_package_properties #974 (39db115)

📝 Documentation

  • Add module docstrings #983 (bcfd2b9)
  • Update design interface of package section #989 (44d0d01)
  • Move docs on Properties into docstrings and edit them #991 (7c5479b)
  • Move expected input data from design repo #993 (ffd83aa)

0.13.0 - 2025-01-24

✨ Features

  • Output everything from code cells in Reference docs #997 (3fcfa96)

📝 Documentation

0.12.2 - 2025-01-24

♻️ Refactor

  • path_package_properties() -> path_properties() #996 (0976a3e)

0.12.1 - 2025-01-23

♻️ Refactor

  • Use CheckErrorMatcher in Sprout checks #973 (2965f75)

0.12.0 - 2025-01-23

✨ Features

📝 Documentation

  • Move modular design and requirements into design landing page #979 (f3ef3ce)

👷 CI/CD

0.11.1 - 2025-01-22

♻️ Refactor

  • User Properties classes in user facing functions #976 (8c6063f)

📝 Documentation

🧹 Chores

0.11.0 - 2025-01-21

✨ Features

0.10.0 - 2025-01-21

✨ Features

0.9.0 - 2025-01-21

✨ Features

0.8.0 - 2025-01-21

✨ Features

  • Collect all Sprout-specific property errors #964 (9f71923)

0.7.0 - 2025-01-21

✨ Features

  • Add functions to check required and blank fields #963 (0f4fa55)

0.6.0 - 2025-01-21

✨ Features

🧹 Chores

  • (sync) Synced local ‘.editorconfig’ with remote ‘.editorconfig’ (3e7d385)
  • (sync) Synced local ‘.vscode/’ with remote ‘.vscode/’ (a970585)

0.5.0 - 2025-01-20

✨ Features

0.4.0 - 2025-01-20

✨ Features

  • Add custom CheckError for check functions #924 (47b8941)

📝 Documentation

  • Align table colwidths on reference index page #971 (90fe27d)

0.3.0 - 2025-01-20

✨ Features

  • Add custom renderer to remove floating : #959 (f48be5a)

📝 Documentation

  • Explain that we follow Seedcase’s overall design #936 (68f7ca9)

🧹 Chores

  • (sync) Synced local ‘.editorconfig’ with remote ‘.editorconfig’ (0276805)
  • (sync) Synced local ‘justfile’ with remote ‘justfile’ (1fa0e94)

0.2.4 - 2025-01-10

♻️ Refactor

  • Rename sprout root to sprout global (1c9cb25)
  • Can’t use the word global on it’s own, so renamed to path (58f61d9)

📝 Documentation

  • Revise output design to default to working dir (9478936)

💄 Style

0.2.3 - 2025-01-10

♻️ Refactor

📝 Documentation

  • Small edits to architecture and naming page #922 (1e1b7b3)
  • Minor edits to docstrings #932 (125b331)
  • Fix typo wrties -> writes #941 (0595a6f)
  • Add package to each subsection and remove core before functions #942 (ce4d0a7)
  • Enable quartodoc dynamic lookup #948 (5649fae)
  • Add signature annotations to reference docs #952 (255f20b)
  • Revise output design to default to working dir #931 (5480caa)

🧹 Chores

  • (sync) Synced local ‘.pre-commit-config.yaml’ with remote ‘.pre-commit-config.yaml’ (1648c9c)
  • (sync) Synced local ‘.editorconfig’ with remote ‘.editorconfig’ (0f93c35)
  • (sync) Synced local ‘justfile’ with remote ‘justfile’ (408b228)
  • (sync) Synced local ‘.github/dependabot.yml’ with remote ‘.github/_project-dependabot.yml’ (7585e2d)
  • (sync) Synced local ‘.vscode/’ with remote ‘.vscode/’ (1295fde)
  • Rename implementation -> interface #916 (000f04d)

0.2.2 - 2024-12-18

♻️ Refactor

0.2.1 - 2024-12-18

♻️ Refactor

0.2.0 - 2024-12-16

✨ Features

📝 Documentation

  • Update hero-text to describe modules and include lib #904 (f16e6c6)

🧱 Build system

  • Add GitHub workflow to keep track of Data Package versions #881 (ca9f30a)

🧹 Chores

  • (sync) Synced local ‘_extensions/seedcase-project/seedcase-theme/’ with remote ‘_extensions/seedcase-theme/’ (690ac44)
  • Set update_changelog_on_bump to true #889 (bf8909b)

0.1.1 - 2024-11-21

🐛 Fixes

📝 Documentation

🧹 Chores

  • (sync) Synced local ‘.editorconfig’ with remote ‘.editorconfig’ (caa97c9)
  • (sync) Synced local ‘.gitignore’ with remote ‘.gitignore’ (3aa2716)
  • (sync) Synced local ‘justfile’ with remote ‘justfile’ (c29c37a)
  • (sync) Synced local ‘.github/pull_request_template.md’ with remote ‘.github/pull_request_template.md’ (09ba472)
  • No longer need these files #877 (2bca370)
  • Convert these to draft and/or hide from website #878 (db4a788)
  • Remove last remains of older code and deploy files #875 (a1675b7)

0.1.0 - 2024-11-13

✨ Features

  • (dependabot) Add dependabot for updating Python dependencies (6d342f2)
  • Create png of login sequence and remove todo item on that (c5e1a4e)
  • Add title to login sequence diagram (b19afaf)
  • Add flow diagram of preparing schema for upload (08d0551)
  • Initial flow chart of entire user flow (790a2fc)
  • Split up user flow diagram into separate diagrams for user flow post (97da2fa)
  • Add initial version of user flow post (e817094)
  • Add “system displays the number of validated rows to the user for agreement” (731db85)
  • Add user confirmation of validated row to add in upload (ccf92da)
  • Adding of migrations (df814f4)
  • Models added for table and column meta data (591221f)
  • PR review adjustments (adf6e52)
  • Fixing tests (6253829)
  • Add “all” to generate-puml command (5910e11)
  • Add command to generate png from specific puml (8c038d9)
  • Draft (1889919)
  • Commit before merging from main (a9e11be)
  • Simple file upload is created (0540aab)
  • Added dropzone and file information box (19c0c38)
  • Matching details with wireframe (b7e39eb)
  • Init/wip (b8667cb)
  • Change tablecreation form to modelform (aef702d)
  • Update data_import view to use and validate tablemetadataform (b38c96d)
  • Hotfix - created_at defaults to none until we implement users (6f1a0ea)
  • Update html to utilise modelform fields (1e07650)
  • Add table id to file-upload url (1af3659)
  • Add validator to prevent special characters in the table name field (eeda556)
  • Add validator to prevent creating tables with name that already exists (46558fe)
  • Show validation errors for name field (05cde3c)
  • Center align dialog header (dd26e4b)
  • Add icon to align with wireframes (2e7930d)
  • Add help button with dialog overlay (0490579)
  • Include val of table already existing directly in the modelform (7d3620e)
  • Update special characters validator to include field_name in error msg (d1898c2)
  • Add error code to validate_table_name_does_not_exist (8fd0934)
  • Add tests for data_import view (b464d1e)
  • Add cursor pointer to card-button-size buttons (dca0258)
  • Add progress bar dialog (5d3d6f5)
  • Show progress bar dialog at click on submit button (bccaeea)
  • Wait two seconds after click on submit to show progress bar (6cd6c79)
  • Central location for ColumnDataTypes (45b5135)
  • Adjusting docstrings (2fc1f90)
  • Add original name to columnmetadata (f1057ea)
  • Add original name as name (5a0dc8a)
  • Read csv file with polars (2fe0d4f)
  • Small adjustments (2d47181)
  • Persistent storage (eaddb5d)
  • Testing preview environment (f56d5b3)
  • Upload file to persistent storage (2a0dc73)
  • Delete method is added (4b50fc6)
  • Keep markdown files to preserve folder structure (a768ae2)
  • Add file size (acd1b56)
  • Created_by is added (8ab2710)
  • Adding polars_types to ColumnDataType (29e0f93)
  • Description as Text input and str added on ColumnDataType (ce62540)
  • Create test scripts for views of column data (73d772b)
  • Disable migrations by not committing migrations into git. Furthermore, the database is not in the persistent storage (cd0511e)
  • Add util function to convert string to snake case (2e4ecde)
  • Use _convert_to_snake_case for column names (a0edc8e)
  • Init existing tables view (4d33fd2)
  • Init view existing table template (f4b1f63)
  • Add view-existing-tables to urls (1e61bcb)
  • Add existing tables view to view init (7a80fe3)
  • Change from ID to Original name (3679b57)
  • Create review list view (211ca9e)
  • Add autocomplete=“off” for form (1ea1bcc)
  • Read_csv uses file path and ColumnMetaData created (c3a512f)
  • Simple file download example (d04d741)
  • Show files as tables (8a8c044)
  • Files are displayed in a table (8f66f93)
  • Validates columns (e78a078)
  • Validates columns (2624a34)
  • Handles more invalid csv files (1acddb9)
  • Adding style to Kris’ work (ae3fb77)
  • Add tabindex with a custom templatetag (abe5871)
  • Tabindex on all (52c271d)
  • Show tooltips for headers (71cf377)
  • Add paragraph when there is not data to view (2059a4c)
  • Button to switch between table vs grid view for metadata editing (23fa671)
  • Add that clicking row again will deselect the row (aebe146)
  • Redirect to data-import when create btn is clicked (bcac1e8)
  • Add error dialog when user clicks edit or upload without selecting a row (f638ce2)
  • Automatically add test data when DEBUG=TRUE (cc7593f)
  • Adding to description that this is test data (c889e9a)
  • Disable when running unit tests (ee9469d)
  • Ruff adjustments (2a39b4b)
  • Change dialog to disabled for button edit and upload (0ac8b22)
  • Exclude column checkbox (94429ee)
  • Preview data sample is added (0cc9443)
  • Added equals sign <=5 (191cc20)
  • Support for decimals with comma is added (ea19668)
  • Removed print statement (2b3cb51)
  • Authentication and password reset is created (9d5b0e1)
  • Template is moved (f39ca2b)
  • Add column metadata expands on select (3e4d9af)
  • Only show first 10 columns to avoid cluttering the view too much (d998685)
  • Column metadata is shown underneath each metadata row (e893925)
  • Column metadata is only shown when metadata row is selected (5af3827)
  • Values preserved between view switches (a4d5980)
  • Name change (8b12074)
  • Add dialog to view and html (6c38745)
  • Human friendly names to hint the difference between extracted_name and display_name (5a85fe7)
  • Working on adding upload page (f39764c)
  • Added Django view for uploading data (71a661f)
  • New page for uploading data files, finally (ec426f2)
  • Synching to switch computers (b4e7a73)
  • Update data to an existing table (but still incomplete) (438c2ac)
  • Add data for user test (06df7e8)
  • Changing the font to Rajdhani (aa3c9a8)
  • Add info text to metadata-id-create (a8957e8)
  • Add data_rows to tables model to populate and update field at file upload (1f336cd)
  • Populate and update last upload at data upload (bf554c9)
  • Add last upload to Tables and update it when data_rows are not 0 (e59c6f1)
  • Add multiple outline colours and a shadow var (e21abc2)
  • Parse existing_metadata_columns as a dict to view to be able to filter on table_id (4f3b490)
  • Add dictionary filter by key to be used in view (ca27c4d)
  • Load dict tags and utilise it to show only first five cols (73cabf8)
  • Add button to show five more cols (8dfe431)
  • Add shown class to rows that should are unhidden to hide them again later (09d8c2c)
  • Existing metadata view expanded to show first 5 cols #359 (8795691)
  • Add expand_less icon to metadata table rows (8187915)
  • With js, add that icon changes to expand_more when row is selected (60d6de4)
  • Add expand_less/expand_more icons when metadata row is selected and unselected #386 (19102a5)
  • Add logo svg (471c979)
  • Add logo to navbar and head (af42719)
  • Add menu icon and enlargen navbar icons (3979b05)
  • Add mirrored background to use in navbar (4a6444b)
  • Add column descriptions (55c0686)
  • Authentication and password reset is created #347 (2c72f0c)
  • First upload of docker compose file (75de511)
  • Update dockerfile - remove 22 and 25 (5f37a8c)
  • Update yml file to persist data in postgres (75dbbee)
  • Remove linting issues (d88a5e3)
  • Update to run psycopg2-binary (4c8fc41)
  • Update with comments by Philip (b18f042)
  • Small change (ce60bc1)
  • First draft (aec2842)
  • View divided in steps (9448a63)
  • Small fixes (82cea5a)
  • Rename refactor (8c1b030)
  • Making it work with existing links and deleting old stuff (0c11dec)
  • Confirmation page (64415c9)
  • Confirmation page (c3e81f9)
  • Single page for metadata creation steps #415 (6b02fbf)
  • Add sprout logo with alt label to navbar (dc53c4f)
  • Add aria labels to icons in navabr (231d8d3)
  • Add seedcase theme to pumls (78b9476)
  • Regenerate pumls as svgs instead of pngs (dde9ef0)
  • Format text (183327a)
  • Add puml name (36d8d08)
  • Add seedcase theme (09a6d12)
  • Add verify_is_dir() #578 (632ac5f)
  • Add create_next_id() #585 (6c4e8e1)
  • Add create_resource_raw_path() #587 (25e3ea2)
  • Add create_id_path() #591 (4b40cb5)
  • Add get_ids() function #582 (20a558f)
  • Add verify_format_supported() #592 (982c9e7)
  • Add create_relative_resource_data_path() #596 (aeea3ef)
  • Add verify_is_file() #597 (9219198)
  • Add create_dir() and create_dirs() with tests #586 (0d4b08a)
  • Add extract_properties_from_file() #594 (1d7ca5f)
  • Add create_resource_structure() #610 (a0b5b05)
  • Add edit_resource_properties_field() #621 (ba4911a)
  • Add verify_resource_properties() #613 (7761fe5)
  • Add drop_property_fields() #629 (ad927b3)
  • Add create_properties_path() #632 (fd220dc)
  • Add create_readme_path() #630 (cbbb6e3)
  • Add write_file() #631 (6bfd8b1)
  • Add scrape_json_from_url() #628 (f8d0c2a)
  • Add create_resource_properties() #633 (4f65ed8)
  • Add get_root_envvar() #688 (79ebe4f)
  • Add create_root_path() #689 (6d514ff)
  • Add path_sprout_root() #705 (f52972e)
  • Auto-generate property dataclasses based on spec #692 (cf382c3)
  • Add FieldProperties and ConstraintsProperties #717 (02f706c)
  • Add create_default_package_properties() #731 (a1916c0)
  • Add read_json() #746 (83ccba7)
  • Add computed property asdict #745 (f4e762b)
  • Add sensible default values for package properties #743 (d7fb08a)
  • Add path_*() functions (with their verify_*()’ers) #730 (71d8a4b)
  • Add create_readme_text() #669 (ca2a388)
  • Add create_package_structure() #754 (bfc8dc8)
  • Add default values to ResourceProperties #769 (a7787ce)
  • Add verify_package_properties() #744 (b1f7d5b)
  • Add that path_packages() creates dir if it doesn’t exist #783 (3ae0992)
  • Update verify_resource_properties() #773 (50801c3)
  • Add edit_package_properties() #790 (3007f1f)
  • Add write_resource_properties() #784 (f27d8f5)
  • Update Properties classes with default method and change behaviour of compact_dict #808 (8b306cd)
  • Add create_raw_file_name() #841 (4162506)

🐛 Fixes

  • (typo) Packagee -> package (9c5723d)
  • Apply suggestions from code review (f87a5aa)
  • Remove “design” from path to login sequence png (9e92e91)
  • Add blank line before list so it renders correctly (bdb4cb4)
  • Remove ordering from yaml (db227ab)
  • Remove files that are created when rendering (4fe8b68)
  • Minor text mods (d88075f)
  • Add line from “continue” back validation check (24e941a)
  • Minor fixes to user flow diagrams based on review from @lwjohnst86 (ff9a47e)
  • Remove numbering from output file name (c39e2c8)
  • Remove “tricky part” png (94c9abe)
  • Delete outdated schema creation flow diagram (0be5c77)
  • Remove mention of “V2” (56f70a0)
  • Apply suggestions from code review (106889a)
  • Replace “schema(s)” with “table(s)” in all files related to user flow (4925440)
  • Rerun pumls to change “schema(s)” to “table(s)” (d9a2fe2)
  • Apply suggestions from code review (31fd867)
  • Deploy to fly.io is fixed (105152a)
  • Fixed poetry version (2dbb6f4)
  • Reverting changes related to enforcing foreign key constraint in SQLite. This seems to be handled by Django (610ae73)
  • Adding tests (5559b3d)
  • Missing a just command (8ce64f8)
  • Indentation was wrong… (3d956b8)
  • Change comment style from # to // (9621049)
  • Semi colon -> comma (a71b9fd)
  • Another fix to the test workflow (7df506b)
  • -no-interaction –no-root (ace8137)
  • Apply suggestions from code review (b26d987)
  • Adjustments from review comments (86077c7)
  • Seems like this code wasn’t used, so removed it (594e78e)
  • Move whitenoise up under securitymiddleware (8c55215)
  • Small typo fix. (3bdb95e)
  • Add migrations before loading sample (6545af7)
  • Update-migrations creates and applies migrations (532582a)
  • Using FLY_APP variable (1fdc1c2)
  • Hardcode seedcase-sprout-pr test (649d74f)
  • Only seedcase-sprout (093ee8a)
  • Rename to seedcase-sprout-preview which is more clear (3f71509)
  • Ruff formatting added (af4b03c)
  • Adjustments reviewed (6a8ed20)
  • Docstrings and type hints (0371562)
  • Apply suggestions from code review (b24d65f)
  • Apply suggestions from code review (89f8573)
  • Port 10000 -> 8000 (a0d3b8c)
  • Remove default=None from created_by (ca00c1d)
  • Remove description text field - we use the form field now (c71e0b4)
  • Remove data-ui from create button to avoid closing dialog when validation fails (fcf0837)
  • Add button to cancel class (9ce9e22)
  • If errors in form, show dialog (322cd31)
  • Trying to fix csrf (90739f3)
  • Trying to fix csrf adding comment (acea4c4)
  • Trying to fix csrf adding comment (2a7052d)
  • Missing file (fe006b6)
  • Trying CSRF_TRUSTED_ORIGINS (fc1a8e8)
  • A function was forgotten to be renamed after it was changed. (cd70708)
  • The columns are updated after a migration (0ecfb36)
  • Remove python_type and pandas_type (668704e)
  • Ruff adjustments (16cd5f3)
  • Remove validtionerror from return typehint (b185dd4)
  • Remove validationerror from return typehint (fc33b95)
  • Add bottom margin for name field when validation fails (9ba4ef8)
  • Apply suggestions from code review (4947dfb)
  • Resolve merge conflict (550a47b)
  • Handle static assets when DEBUG=False (35d5124)
  • Multiline comment (7f2be6f)
  • Apply suggestions from code review [skip ci] (da8da21)
  • Centre align icon on it’s own line (80f72dd)
  • Update initial migration to include original_name in columnmetadata (5a360ef)
  • Ruff adjustments (4a5a51d)
  • Ruff adjustments (0dcc2b8)
  • Docstring adjustments (937640c)
  • Using selectors instead (f6c4a62)
  • Fixing if BytesIO instead of TextIO (13a12f6)
  • Reverting deploy-pr-preview.yml (5a7505a)
  • Why is preview deployment not triggered (287bf08)
  • Ruff import order (0b393a2)
  • Staticfiles needs to be present (d714cc4)
  • Removed bad code (ae708f6)
  • Create dir if missing (bd4a636)
  • Extra / is removed in path (817a492)
  • Ruff, unused import (80f0814)
  • After rename (3a641b1)
  • After rename (ba70aba)
  • Status code changed (6c7894e)
  • Add Ruff exemptions for a couple of D102 to see if that makes a difference for linting (5453880)
  • Update to docstrings and format of imports (6c4e620)
  • Add ruff exemptions to the last bits (01a30b3)
  • Remove data type from PR (648fb9a)
  • Sort out lint (7f641fc)
  • Missed the init file first time (9c7fbbe)
  • Migration (6b73e18)
  • Migrations are added in docker image and collectstatic is executed when the image is created (and not during startup) (7747a82)
  • Update href to match name of view-existing-tables (8b8683b)
  • Updated form test to use new field (093a0e6)
  • Corrected a typo in the tests (b2b1f85)
  • Form validation error (a35d865)
  • Change label from “name” to “table name” (e7b8ae7)
  • Disable suggestions for table name (3f02f49)
  • Ruff format (5c84dda)
  • Naming and docstrings (1c2b5e0)
  • Naming and docstrings (0b15d1d)
  • Merge-conflict (17b4331)
  • Ruff format (12a598d)
  • Spelling mistake (88e3ccd)
  • Renamed test file for ColumnDataType (2fd80dc)
  • The folder staticfiles is automatically created to avoid the warning that the folder is missing (c58982e)
  • Ruff adjustments (a90dee6)
  • Migration removed (bb08abe)
  • Merge-conflict (ed1dfd7)
  • Merge-conflict (6f7f5cb)
  • Merge-conflict (ac7a920)
  • Based on review comments (63db34f)
  • Fix missing ) in url.py (6127921)
  • Remove autocomplete (3bd4d1c)
  • Removed space (bee80eb)
  • Missing docstring (e6982c8)
  • Tests are moved to tests_csv_reader (4cb03cb)
  • Save method is overridden and a test is added (079162d)
  • Ruff format (f118e8a)
  • Forgot to remove this import (0e2798f)
  • Remove option for NULL in drop-down data-type (e39940f)
  • Running tests told me datetime.UTC doesn’t exist. Not sure why, so changed it to timezone.utc (a5b3a21)
  • Remove unused import: ColumnMetadata (5346fff)
  • Remove import of non-existing file-upload view (1fb0331)
  • Remove style “.expandable” (b0ccf77)
  • Change table to div to enable the whole row being clickable/selectable (48129c8)
  • Change empty message to not include “sorry” (3aad831)
  • Remove unused import (654529f)
  • Remove typo (b2e99a7)
  • Merge-conflict solved (a6d9650)
  • Empty description field and home-made tabindex templatetag is removed (2a9f5ef)
  • Add that selected_metadata_id should be equal to metadata.id to change url (7390ed4)
  • Add missing (186d1e0)
  • Remove old urls from merge with main (82fc870)
  • Remove import of old view from merge with main (e9253f7)
  • Remove unused argument “table_id” from view (33c3832)
  • Change referenced urls to kebab-case (052b0ab)
  • Add that no spaces are allowed in error message (493736f)
  • Update data-import view in test to be minus instead of underscore (512c222)
  • Remove old template view_existing_tables (70fc7b6)
  • Ruff line too long error (74dee05)
  • Merge conflict (dbf2209)
  • Remove error msg from tests since it has been removed from view (7a82c16)
  • Update tests to include new column names (7ca7c94)
  • Resubmitting a file should delete previous file and columns (6be6604)
  • Add a test (22ec3ad)
  • Name was renamed to extracted_name (884b089)
  • Thead background colour and remove bottom border (c449fd2)
  • Table -> metadata (bad0b5d)
  • init.py is required in migrations folder otherwise the command makemigrations is not working (d1936c4)
  • Add column metadata to view (2b695af)
  • Remove wrongly merged variable (de87be7)
  • Variable rename fail is fixed (f914a0f)
  • DataType and Excluded flag should also work when switching views (0405c93)
  • Remove duplicate import (c7c1c4a)
  • Use hidden attribute instead of hide class (b3a9d8a)
  • Machine readable name is also removed from table overview (97b29f9)
  • Adjustments (f6e9729)
  • Redirect to data-import page after update (1eafd64)
  • Typos in the code introduced during the renaming (82973ff)
  • Forgot to correct the base.html path after the change (af5bb78)
  • Fixing tests with small changes (5e50f6e)
  • Remove incorrect bracket (cfdba78)
  • Typo, should be uppercase as a constant (8591770)
  • Fix forgotten naming schemes for Models (669611a)
  • Update upload URL in metadata view to direct to data update (b5b8dd2)
  • Data-import and url (c8990bb)
  • Add missing docstrings to write() and path_raw_storage() (62b1018)
  • Fix model names after renaming for naming scheme (91a93ab)
  • This was changed to just tables (935546a)
  • Wrong function name used. (6e2c640)
  • Replace mentions of tables with metadata (1cefb6b)
  • Change normal strings to raw strings for regex patterns (61dfc1f)
  • Only include semibold and bold Rajdhani fonts (0175f0b)
  • Data -> metadata (e61ef94)
  • Change var name tables to table since it only contains one table (f55b068)
  • Remove custom save method so modified_at is None before data upload (6ea6650)
  • Remove update to modified_at since it’s not the metadata being updated here (251e55d)
  • Remove unused import of datetime (b3bf0b4)
  • Add “rows” to successful upload message (61a28c0)
  • Apply suggestions from code review (76be8aa)
  • Fix conflict (5302c69)
  • Fixing tests (d81fe0f)
  • Specify that only direct children of table-content should be grey (bbd542a)
  • Update and add more colours to fit ui wireframes (5fdee1b)
  • Update styles to use theme variables (2d30e3d)
  • Modify css for .metadata_columns_table to be applied to correct elements (edac3ae)
  • Remove unused/unseen style (202704f)
  • Remove beercss’ default table borders (7040994)
  • Don’t include border-radius for any elements in metadata_columns_table elements (2cf1148)
  • To avoid having multiple tbodies, move out of loop (1360b42)
  • For readability, add tag around column metadata tables (e2be170)
  • Remove end of if-statement (e0b1bfd)
  • Remove repeated dialog (2d31ddd)
  • Remove border radius from navbar (ba5e412)
  • Specify styling to target elements within a
  • Add background-size: cover to avoid “zoom in” on image (45117f7)
  • Add quotes around class name (45d2cc2)
  • Add card.css to base.html (177fdcc)
  • Add missing s to url name (8b0a4bc)
  • Add missing s to url name #410 (94a441b)
  • “gender” -> “sex” (e78d73c)
  • “gender” -> “sex” (56d12a8)
  • Merge conflict (7c40d9b)
  • Use columns_set (6b7bc7e)
  • Expand icon and show more button is fixed (57881aa)
  • Comments added (0c65456)
  • Solve merge conflict (e31c453)
  • Make –surface-container-high white so it’s not purple (a5095d9)
  • Make –surface-container-high white so it’s not purple #416 (1933469)
  • Update C4 container diagram (69123dd)
  • Update UI component diagram to be only about Sprout (ce91d03)
  • Update C4 Context diagram to include only Sprout. (87674f6)
  • .venv is added to .dockerignore as it seems to break the docker build (5315cc7)
  • A bit of styling is added (15cbfac)
  • A bit of clean up (78b5445)
  • Merge-conflict (0f6db6f)
  • Changing existing table (15ee617)
  • Tests and linting is fixed (5df5c2f)
  • Small adjustments (dfd7b0c)
  • Small adjustments (29652a1)
  • Step file upload is added (8e0bc7c)
  • Is_draft=False when button is clicked (9a093b8)
  • Format python (7e6688c)
  • Make –surface-container-high white so it’s not purple (d5ad53e)
  • “headers” -> “columns” to fit current naming (41805f4)
  • Minor changes to wording in paragraphs (6ebda20)
  • Update helper dialog text and remove “machine-readable name” (1e9c086)
  • Minor adjustments to step 3 of metadata creation for editing the metadata columns #419 (057dae3)
  • Remove title from nacbar - not needed when sprout is in the navbar icon (0d1d38e)
  • Elaborate on alt texts (dd31131)
  • Remove blank line (96f4b74)
  • Remove old png (49cef98)
  • Use url shortcode instead of urls inside a tags (603cb17)
  • Polars changed the name PolarsDataType to DataType (87e7737)
  • Fix check for whether tests are running (a59eefa)
  • Debug code depended on old unittest, updated for pytest #529 (49e8f7a)
  • Update c4 image links to svg (8bc440c)
  • Update c4 image links to svg #542 (deedffc)
  • Path to svg (7270ead)
  • Use seedcase puml theme (af96e35)
  • Image links and theme #543 (8999a56)
  • Remove font colour and name from state diagrams #583 (acaf25b)
  • Rename own csv folder to avoid clash with built-in csv #593 (406b6f3)
  • Fix warnings from deprecated arguments (7200f6a)
  • Fix import using old name #670 (d9a15d5)
  • Remove space from filename #687 (8d98200)
  • Remove unnecessary id from ResourceProperties #735 (c26e043)
  • Add missing brackets #750 (249822c)
  • Broken link to guide index file #764 (7d4c09c)
  • Sort ids before returning them #767 (cede7a3)
  • Add UTC timezone to tests using timemachine #851 (71c4985)

⏪ Revert

  • Black formatting (0ca773f)
  • Remove irrelevant comment (3bcc3f7)
  • Remove icon in create new table dialog (7650118)
  • “table name” -> “name” to test autocomplete=“off” (01ba59f)
  • Reimplementing custom save method (8b8a2f7)
  • Remove local experiments with removing create metadata dialog (ac5d756)
  • Remove unused color (76c6c1d)

♻️ Refactor

  • Update to match partial user flow diagrams (1113441)
  • Rename val of no special characters (d257eb9)
  • Explicitly state that create is a submit button (583dd3f)
  • Move val table already exists to form instead of model (25ce14b)
  • Use redirect instead of httpresponseredirect (a2a9661)
  • Move validation of special character to validator (9ee1517)
  • Add type hints for returns (518be99)
  • Add typehints and docstring to clean_name (0a3d86c)
  • Specify imports from django.forms (c0f1c79)
  • Update error msg of no special characters validator (6223308)
  • Move const dialog to showDialog() (8f9ef56)
  • Method name change (d87a14c)
  • Migration and FileMetaData renamed to FileMetadata (ea86845)
  • Split up tests for views into separate files (8acbd0c)
  • Rename to specify which models are included in this file (ec241d5)
  • Moved to csv folder (29da12c)
  • Revise to indicate the upload is for creating metadata, not the final upload (738263b)
  • Rename files to match the metadata/create format (6dda120)
  • Move file storage code into its own function for more generic use later (f3407a2)
  • Renamed function to describe what it does better, given changes to other functions (7fb41a0)
  • True/False seems more appropriate than Yes/No. (42d4869)
  • Convert to new naming scheme (5b85ad2)
  • Remove duplicated/scatter code and consolidate into single column-review page (b56486e)
  • Remove duplicated Django views and consolidated into column_review.py (4a6ce62)
  • Update links after consolidation (9ddd14c)
  • Restructure if statement to avoid writing error msg twice (4a028a6)
  • Remove unused form name (0cc1249)
  • Handle redirect in template instead of view using js (08e6010)
  • Move table selectable styles to static (9270f8c)
  • Change buttons to anchors to slightly simplify code (a78d47e)
  • Simplified js and removed tests not valid with a js solution (b95dbf8)
  • Separate create new metadata dialog (a0ad204)
  • Merge expand feature into project id metadata (ca0e848)
  • URL should match naming scheme for URLs (minus project/id) (5236b0c)
  • Rename HTML template file to match naming scheme (29bcc64)
  • Revise to match naming scheme (df4bd4c)
  • Use index.html instead in the Django view (3a50a2e)
  • Fix path to base.html, plus reformat (5222d0b)
  • Use project-id-view html file path (bec147d)
  • Change function names after renaming (ba894b5)
  • Fix names of URL in Python code (f542327)
  • Rename functions to match scheme for metadata edit grid (5a10f24)
  • Match naming scheme for data/id/metadata/edit/table (8bf617e)
  • Match naming scheme for data/id/metadata/create (19c9f83)
  • Match scheme for data/id/metadata/edit/table (483637d)
  • Match scheme for data/id/metadata/create (fbfe676)
  • Match scheme for data/id/metadata/create (82e0c65)
  • Fix paths to includes files, plus auto-reformat HTML (5eb815a)
  • Update URLs and links to reflect name change, but leads to test issues (642e6e9)
  • Projects-id instead of project-id (plural) (c7e1472)
  • Use correct url for create metadata, plus use reverse for url (54d5083)
  • Move to user-tests folder (57713bf)
  • Rename model class for DataTypes to match naming scheme (b4499ad)
  • Rename to Columns (and columns) to match naming scheme of class (424c43a)
  • This should be capitalized as it is a constant (9a2e127)
  • Rename Files model to match naming scheme (e4b4bdc)
  • Rename Tables class to match naming scheme (d2d2ad1)
  • Convert URLs to use reverse() with full Django URL name (not path) (4765967)
  • projects id not project id (f857a83)
  • Follow naming scheme for classes (337fe61)
  • Include includes in path of these templates (9feaae0)
  • Make projects_id_metadata_view the home page (342475e)
  • Change redirects fit that projects_id_metadata_view is home (13fc940)
  • Remove placeholder home (9aa3da9)
  • Use URL Django shortcode (2c93522)
  • Move table css styling into own file and initiate ui (567564a)
  • Code is simplified (86f72a2)
  • Initiate the move of card styling to separate css file (9eab924)
  • Optimise the use of the innate theme variables (3b3b0f8)
  • Move background-image into css to remove use of inline style (a454c88)
  • Incompletely update/expand on the C4 component for API (58454e5)
  • Renames based on PR review (9a72e04)
  • Switch to using HTML dd for each item, rather than a break between (cb38bbe)
  • Change label to “data type” #519 (88a0fd3)
  • Reorganize Sprout into core and app components #522 (d6f32c7)
  • Add frictionless-style sample data and metadata #530 (72d846a)
  • Move some string helper functions to core #541 (c4d2e6d)
  • Divide tests into app and core folders #545 (9a7465c)
  • Rename to edit_property_field() to be more inclusive #658 (b77ea6c)
  • Remove some functions in create_properties_template() #685 (6f6a1e4)
  • Create resource dir when making package #788 (b59dbff)
  • Rename “sprout” folder to “seedcase_sprout” #844 (212b953)
  • Remove everything Django-related #848 (ab0beff)

📝 Documentation

  • (diagrams) Update svg for create_package_structure() (0a4caa7)
  • (diagrams) Add path as input for create_id_path() (dec67a7)
  • Content copy dump from seedcase-project repo (58276fa)
  • Name file to be “users” to better reflect the contents (8481bff)
  • Update users and their uses of sprout (bbf135f)
  • Edits based on review comments (ed5a388)
  • Transfer of text about runtime uploads (1ef089f)
  • Small edits and proofreading to runtime view file (0618575)
  • Add some basic details in the README (22636ca)
  • Add authors and maintainers to pyproject (5997b55)
  • Rename flow diagram for upload prep + add footer (9149eb0)
  • Add initial draft of sequence diagram for upload prep (1958f83)
  • Rename “prepare for upload” diagrams to “schema creation” (7af0162)
  • “Upload new data” -> “Create New Data Schema” (aaa2afc)
  • Add initial draft of sequence diagram showing data upload from existing schema (8871c0d)
  • Add and move questions/comments to diagrams (8eaecbc)
  • Minor text updates based on meeting with @hgo (d9a0b87)
  • Minor text updates based on meeting with @henrik-goul (6c454d3)
  • Update sequence diagrams based on talks with @henrik-goul and @K-Beicher (4a7335d)
  • Use snake_case for column names, more descriptive var names, and backticks for formatting (c2d843e)
  • Text mods based on review by @lwjohnst86 (6ba6742)
  • Minor text mods from readthrough (c0ebf4a)
  • Add Data Access Administrator throughout text instead of user (b98aefa)
  • Small edits, plus add a caption (bb6eab4)
  • Add a link to the fly.io demo app (22ea7b3)
  • Add table naming and description to user flow (ab48f34)
  • Add validation check: does table already exist? (88ba6d7)
  • Add validation check: is file a csv? (99fe837)
  • Update with table description overlay and validation checks (1bdefc3)
  • Add table creation diagram (2a623f2)
  • Minor update to comments (fcf9a40)
  • Add comments describing sub-diagrams’ start and end (1a7756c)
  • This text makes more sense in the team docs rather than in the readme (560a665)
  • Edits to the data type table, simplify/shorten most fields, add link to ISO8601 format for dates (2e9db7e)
  • Decide about using JSON as data type later, commented it out (a9d6b9b)
  • Stylistic choice for headers to simplify the document outline (55176c4)
  • Use yaml header for document title (what quarto expects) (ac40a78)
  • Edits to text of data type sections (271f719)
  • Comment out section about JSON data type, will return to this later (f0e3952)
  • Add table creation from file with table metadata (5a14982)
  • Add option to download table metadata after table creation to user flow diagram (f6abe49)
  • Edits to follow wireframes more closely (c59325a)
  • Update user flow subparts to follow main diagram (d119526)
  • Minor text edits (b30b875)
  • Divide table creation into table and column metadata creation (18de9bd)
  • Update table creation section (e000b41)
  • Docstrings and type hints (9a50f17)
  • Remove old/irrelevant code comments (541e555)
  • Remove extra “upload” (8225399)
  • Minor edits to module headers (73fac88)
  • Docstring edits (f166b1e)
  • Minor edit of docstring header (e8d26e1)
  • Remove “main application” from init docstring (c046452)
  • Docstring wording changes (63e2bc5)
  • Remove irrelevant comments (9ab4065)
  • Fix two docstrings with line lengths longer than the max length (fef253b)
  • Remove extra tabs (8bbaf84)
  • Removed types on args (168e5aa)
  • Edits and formatting fixes for the Markdown files (f5b57a3)
  • Small ruff change (9afa81b)
  • Adding some documentation (129b37d)
  • Remove option to add column during table completeness validation (504bd61)
  • Update pngs based on pumls (d11d389)
  • Add system converts original column name to snake case (2b9284c)
  • Add initial table has been created in green box (dddc9c4)
  • Fix typo: use -> user (9201f33)
  • Move comment on table completeness val down (ed692e0)
  • Layout - move to one line (1de7328)
  • Remove actual error message text and describe error instead (ccfb732)
  • Add edits from user flow.puml (31a610a)
  • Add edits to val table completeness from user flow.puml (48d2637)
  • Add todo to do overall introduction of sprout flow (4ab5df6)
  • Fix mistake of having “second” twice (841d37d)
  • Add updated user-flow png (f5b56fd)
  • Add fork to contain “create column metadata from file” (979bea0)
  • Move column metadata extraction and original column name to snakecase to end of fork (9f4fa5c)
  • Table -> column metadata (315cbaf)
  • Update based on user-flow.puml (51f380e)
  • Update pngs based on changes in their pumls (f913284)
  • Add “with data” to header (4ebc19c)
  • Add column name creation from original column names in text (1319f58)
  • Remove last instance of “option to add column” (28a4be1)
  • A draft of the naming scheme (61f9e9a)
  • Add another potential equivalent naming pair (a438232)
  • Small edits to naming scheme (e052704)
  • Apply suggestions from code review (bd1ba96)
  • Update naming scheme docs based on comments from PR (5faf3d2)
  • Update usage of Yes/No to True/False in documentation (2792bf2)
  • Minor edit for clarification (6615d12)
  • Make docstring clearer (52c8ac3)
  • Update naming scheme after extensive discussions about it (a04fe8e)
  • Naming scheme for internal Python code (56a4656)
  • Apply suggestions from code review (980b22d)
  • Apply suggestions from code review (3840ad7)
  • Fix file docstring (0e14b2b)
  • Remove removed variable (error msg) from test docstring (752a5bd)
  • Change button texts to sentence case (e98962e)
  • Added comments to some tricky code (2331b36)
  • Finish writing the docstrings (c386528)
  • Rename edit to update (1a0a44c)
  • Add draft for user test context (4a2e0da)
  • Update introduction with clearer sentences (7f358d1)
  • Add a short intro to the Seedcase ecosystem as a whole (179f225)
  • Add comment on potentially removing the definitions of data and metadata (3a15a65)
  • Fix date error in example data (80168db)
  • Remove definitions of data and metadata (d9715aa)
  • Added link to the data repo (9935f38)
  • Fix docstring related to change in naming scheme of models (d5d3183)
  • Minor changes to save docstring (2f84dcc)
  • Create a diagram of the flow for the functionalit/pages (f16aa9c)
  • Start including a glossary of terms (9af122c)
  • Add CCBY license for docs (93fe788)
  • Update all C4 model plantuml diagrams (11ccf44)
  • Apply suggestions from code review (a43c16f)
  • Revisions based on PR comments and feedback (38a7d03)
  • Document listing and describing the C4 model diagrams (ba2421f)
  • Apply suggestions from code review (4f9c25b)
  • Update based on PR comments (aa8ea63)
  • Update with desc of data (8984202)
  • New user type and data description (a3f1d4e)
  • Update based on Luke’s comments (c6c1259)
  • Update first batch of comments (7525551)
  • Formating (26dbba1)
  • Revise and reorganize user roles doc (47a4d61)
  • Fix broken links users.qmd -> user-roles.qmd (e7ac6f3)
  • Move login-, authentication- and authorisation-related sections to Sprout (7b88127)
  • Format markdown files (2fd8927)
  • Wrong url for users, fixed. (a8a553c)
  • This sentence hadn’t been finished (01da305)
  • Fix path to the wip include file (41895a8)
  • Remove text about terms, better to refer to central location (0216719)
  • Need an index landing page (861a77b)
  • Png -> svg (5544c31)
  • Small edits to the license file (05d7947)
  • Add to sprout readme file (885a52f)
  • Add a description of the app (63f0f60)
  • Move authentication, authorisation and login to Sprout #467 (571bc95)
  • Remove general naming style guide content, move to design repo (792096d)
  • Small edits to intro section of naming scheme (bc5091a)
  • Add naming scheme for output files/folders (bcf7e0f)
  • Apply suggestions from review (39b1d8a)
  • Diagram of internal flow of creating a resource structure #549 (2ffb1a6)
  • Description of core, external Python functions #553 (f0ec298)
  • Diagram for flow of create resource properties #556 (5759f49)
  • Major rewrite of the naming scheme to match frictionless #546 (00ce79f)
  • Description of the app URLs and functionality #555 (56e1556)
  • Sprout’s output files and structure #554 (9b24b68)
  • Get_resource_ids -> get_ids #584 (2a8bd25)
  • Internal flow for create_package_structure() #552 (ee800cd)
  • Update create_resource_structure() function diagram #589 (75a4053)
  • Add extract action to naming scheme #602 (9c0a8f7)
  • Description of the function to create the properties template #599 (60fa11d)
  • Restructure and reformat the function doc #601 (c04dc6f)
  • Include descriptions and details for the path functions #606 (bcd701c)
  • Diagram of internal code for extract_resource_properties() #605 (71bee50)
  • Function diagram for create_properties_template() #600 (85a3e29)
  • Add description of extract_resource_properties() #603 (497a42b)
  • Add extract_resources_properties() diagram to post #612 (7cb71c0)
  • Start of guide to creating a package #557 (68b20dd)
  • Update create-resource-properties diagram #598 (f8a017c)
  • Update function name to create_package_properties() #624 (1de9a79)
  • Fixed new paths for links in the docs (b2a9e34)
  • Add landing pages for each section (f0deb27)
  • Make the function descriptions more compact and navigable #666 (ee9a709)
  • Ensure WIP callout is always default appearance #668 (8c2e50f)
  • Split design docs up into two parts #667 (262e5ad)
  • Functions to help create correct properties object #665 (affc349)
  • Diagrams of internals for path_sprout_root() #672 (3833e4e)
  • Clarify the difference between descriptor and properties #677 (b21a48c)
  • Internal flow for create_package_properties() #664 (0ba7501)
  • Remove create_properties_template() #684 (b3efc97)
  • Diagram of code flow for path_*() functions #696 (dc35f2c)
  • Replace with create_properties_object() #686 (76f43fc)
  • Expand on descriptions of path functions #697 (c6bfb91)
  • Revised section on properties to be only about the class #691 (e8e1e63)
  • Replace view_*_template() with *Properties #702 (340c5f9)
  • Expand on usage guide for Properties class #690 (517fb4b)
  • Remove create_package_properties(), use edit_*() instead #701 (32e1bfb)
  • Internal flow diagram for write_package_properties() #720 (1ae3d6f)
  • Rename to create_default_package_properties() #733 (342f415)
  • Improve on the docstrings in *Properties classes #718 (72a32b8)
  • Diagram for write_resource_data_to_raw() #721 (bec4fba)
  • Description of split between core, cli, and app #753 (c59ec5a)
  • Internal diagram for write_resource_properties() #751 (11d9f99)
  • Add content to landing page #772 (dcc98e7)
  • Update readme #778 (d303f4c)
  • Installation guide on Sprout with pip #765 (e3e6d27)
  • Run Python code chunks in docs #789 (1aa027c)
  • Add logo and update header to match website #799 (afa51de)
  • Update code blocks in packages guide #809 (3fcd3c0)
  • Update landing page with an image #836 (05d9836)
  • Convert chunk to execute edit_package_properties() #865 (09ff64e)

💄 Style

  • Title-case headers (d0b5ec8)
  • Change variable names in footer to lower case (0059ded)
  • Ran Ruff styling (5c7503e)
  • Rearrange tables to be one table, summarized at the top (0772f5b)
  • Format with ruff (6927b0a)
  • Remove blank line (83ab38e)
  • Add and remove blank lines (51d8bbd)
  • Add comments (0e795ae)
  • Add whitespace before table dialog (a76ecf5)
  • Change hyperlink colour to blue (f9b1cec)
  • Simplify comments (5a5a286)
  • Rename val_table_does_not_exist to include not (54051ac)
  • Typehints, comments, and format (8823183)
  • Rename variable “name” to “name_value” (2b9e57c)
  • Add whitespace (027a034)
  • Add empty line after docstrings (d72823d)
  • Formatting and style of docstrings, ran ruff (2a96e4a)
  • Use edit icon, not mobile icon (c1fa659)
  • Small edits and styling to docstrings (ac8f9ee)
  • Add . to docstring (6f7790e)
  • Use more natural language to describe error message. (8156bd4)
  • Ran ruff formatting (bf63159)
  • Add max line length of 88 (b3eec10)
  • Double quotes around staticfiles to follow black formatting (b0283d6)
  • Change icon from “edit” to “new_window” (2d680e7)
  • Ruff adjustments (5883179)
  • Ruff format (69568d7)
  • Fix linter error (f3d5670)
  • Use definition list HTML tags rather than “big” and “p” (b233b22)
  • Tried to change style of definition lists, but doesn’t work (48b7df1)
  • Shorten msg variable name so ruff line length passes (f02a690)
  • Align variable naming: metadata -> existing_metadata (17fda76)
  • Add comments for clarity (c9f0b3c)
  • Ran Quarto reformatter on text (9d3df37)
  • Rename template, view, url to project id metadata view (a3b89e1)
  • Align naming of urls to kebab case (fb4a7ca)
  • Enforce column width in docs (9cef9df)
  • .. along with some changes to the wording in the help dialog in column-review (bf954b6)
  • For longer header’s, include a ... to keep it on the card (522bc8e)
  • Reformat changes (7abe481)
  • Align to use querySelector at all relevent lines (80a729e)
  • Format (a2803a6)
  • Update comments and change single quotes to double quotes (7b5f37b)
  • Add whitespace around django variables to follow Django conventions (78355cc)
  • For clarity, change JS variable name from col_no to column_number (5fabf5c)
  • Use more generic text for file zone button, ie “upload” (16c3919)
  • Use lowercase for file-zone text and use code text for .csv text (aa8d7d9)
  • Ran HTML formatter (7b863c4)
  • Reformat html filess (f9d0ab2)
  • Reformat using Django Template Support extension (b51d68a)
  • Move navigation bar content into base (0adb6a9)
  • Small renaming of object to match it’s purpose (c89591b)
  • Format column width (ef3550d)
  • Add theme colours based on ui wireframes and homepage look (0844030)
  • Remove extra blank line (9e89e62)
  • Apply styled table-content class to view with tables (2120370)
  • Add tertiary color to use as border of column metadata table (e797b90)
  • Style column metadata table background colour to be white (6b0ea7a)
  • Add solid border to buttons (83b36d4)
  • Add theme background colour to columns table (c991f80)
  • Add rounded corners of first and last td in table rows (cc78865)
  • Adding background to navigation bar (3c74355)
  • Rename “table-content” to “primary-table” (288f647)
  • Add “secondary-table” class and add styling to this class’ (7a97b94)
  • For clarify, update dict tag function name to include “dict” (a7b3bc7)
  • Align to use queryselector in js (677f672)
  • Add whitespaces in js (a056054)
  • Remove border from transparent buttons (7fd7614)
  • Change navbar icon colours to match logo (b3109b5)
  • Add padding around img tags to create space around logo in navbar (ec2e331)
  • Remove transparent style from dialog buttons (af72f15)
  • Fix sizing of the logo, it was a bit too big (154d202)
  • Set a lighter background colour for dialog boxes (b2ab87e)
  • Remove “fill” class from ? button to fit with new colour theme (f095cee)
  • Fix sizing of the logo and small nav bar fixes #412 (05fb1b2)
  • Reformat HTML only, added newline to end of file (61f691d)
  • Add seedcase-theme website style (1ebede9)
  • Add theme colours based on ui wireframes and homepage look #398 (d93443d)
  • Using divs instead of table to allow more flexibility in design (56828e7)
  • Using divs instead of table to allow more flexibility in design #408 (694232d)
  • Small stylistic edits and to be consistent across diagrams (3c633b4)
  • Add vars secondary-container and on-secondary-container in sprout colours (48dfe2c)
  • Add green outline to segmentated buttons (cb84f66)
  • Remove inline styling and decrease header size (4e8cd4a)
  • Add spacing for dl tags (9b4c372)
  • Move dd HTML items to the right a bit, so the dt hangs over them (62c1c04)
  • This line was too long (b1b20da)
  • Ran ruff formatter (4294fb0)
  • Run just format-python #608 (c894119)
  • Ran ruff formatter (85283c9)
  • Indent multiline class attribute docstrings correctly #737 (c38afad)
  • Remove unused import #747 (7044fd4)
  • Move WIP header into Quarto config, rather than as own file #760 (8b53832)
  • Use updated theme divs in landing page #787 (e381541)
  • Ran pre-commit, only fixes trailing whitespaces and end of file newlines #828 (0f45ab1)

🧪 Tests

  • Adding fixture sample (a23be6a)
  • Tablemetadataform validation tests (27045f0)
  • Add for validators special character and table exists (cd12f3e)
  • Update tests with new error message for no_special_characters validator (ae759be)
  • Add a test that checks for an invalid form (db8cdc0)
  • Added test that already existed (8598015)
  • Tests are updated (852a011)
  • Tests was not committed (669d933)
  • Add tests for _convert_to_snake_case (5fce586)
  • A test was added (e45ce55)
  • Updated the tests with the URL to the correct location (541b044)
  • Test for upload_raw_file() function. (f8116a2)
  • Test is added for happy path (c5b1b15)
  • Adding test for another csv format (045c950)
  • Update tests to use True/False instead (d9aeb71)
  • Add basic tests of rendering and all tables shown in view (488e2ce)
  • Add failing tests supposed to check whether page redirects correctly (70dc49c)
  • Update button upload and selected row test - still fails (7a53245)
  • Add setUp (44ccb71)
  • Fix and format redirects_with_button_upload_and_selected_row (7184dee)
  • Rename to metadata_view to fix failing tests (42849ee)
  • Bad name is_not_running_unit_tests (2bc1cac)
  • Test is adjusted to ensure the correct file and columns are uploaded (ddfbb80)
  • Add tests of dialog from data-import to metadata-view (4d4e168)
  • Ensure column names are actually converted (45341c5)
  • Used wrong url for tests, should match the name in Django’s path() (b9735c0)
  • Updated test (b3effe4)
  • Used wrong URL in tests. (1222d60)
  • Fix issues with URLs and paths in tests after renaming (4c06221)
  • This should have been lowercase, previous change capitalized it. (487a8ef)
  • Update test with new redirect to projects-id-metadata-view (e255da4)
  • Split modified_at test on creation and save into two tests (7a74a1e)
  • Add test of data rows count on creation (31a827d)
  • Add tests of data upload on creation and update to data rows (bce3f7a)
  • Comment out failing test, since we might delete this HTML form anyway (1ac67ca)
  • Remove left over Django test file (d70647a)
  • Fix test failures after Django removal #870 (ece4bb4)

👷 CI/CD

  • Resolve merge integration with fly.io’s deployment, plus add some items from review (8c98945)
  • Small edits to testing action (7543463)
  • Add some extra steps to test CI (7ab6874)
  • Deploy pull-requests to seedcase-sprout-pr (d5b8025)
  • Use fly preview-pr-apps action (c9f4266)
  • Set the default name to the fly preview (8adfbc5)
  • Using the flyio preview action, so reverting to previous action (5d5a377)
  • Remove these duplicate files, since they were renamed in central .github repo (c425c59)
  • These are now reusable actions, so don’t need them in this repo anymore (b6b5e04)
  • Add token that gives permission to write (delete) environments (38818e5)
  • Add Action to build and deploy the docs website (cb209e4)
  • Use the reusable action instead (3e1739b)
  • No longer need this workflow (13b8e97)

🧱 Build system

  • (deps) Bump ruff from 0.4.10 to 0.5.0 #492 (c0ed6bc)
  • Start using poetry (801f784)
  • Set up basic files for Django project. (824192b)
  • Set up start of a Django app (de34208)
  • Mostly updates to pyproject to configure Poetry more. (ef7d04c)
  • Add Ruff to poetry lock file (a9c1dde)
  • Setup Fly.io settings and configuration files (9a682b7)
  • Be consistent with port, use 8000 in docker compose (1b92408)
  • Have a lint (no-fix) just recipe, and include lint (fix) in format recipe (7896628)
  • Add just recipe to install dependencies with poetry (36fa9b5)
  • I accidentally changed this to the wrong value, should be app (4269412)
  • Setup Quarto website build for the docs (8269ebd)
  • Extension to incorporate a glossary to the website (32edacb)
  • Set Fly option so it doesn’t turn off too fast (c5ae0d6)
  • Add pytest as a dependency via poetry (45ccc3a)
  • Upgrade ruff and move it as a dev dependency (4c50d81)
  • Make pytest aware of django settings (a3ab770)
  • Switch just recipe to use pytest (e42ac78)
  • Install packages in ‘edit’ mode so it is easier to test and develop (17c1018)
  • Fix link to fixtures after moving things around (eebaacc)
  • Add pytest and rearrange tests to make use of pytest #524 (7abfb53)
  • Add frictionless with sql to dependencies #544 (6787b54)
  • Major restructure of deps plus upgrade to python3.12 (a7dae0d)
  • Bump Python version to 3.12 in Dockerfile (d5974f1)
  • Add django dependencies to poetry install (c343fb2)
  • Major restructure of deps plus upgrade to python3.12 #611 (d013ac4)
  • Add quartodoc infrastructure #818 (aecd5dc)
  • Update poetry lock file (3c5c162)

🧹 Chores

  • (sync) Synced local ‘.github/pull_request_template.md’ with remote ‘.github/pull_request_template.md’ (a520c3d)
  • (sync) Synced local ‘.github/pull_request_template.md’ with remote ‘common/templates/software-pull-request.md’ (331f4fe)
  • (sync) Synced file(s) with seedcase-project/.github #496 (61f7c42)
  • (sync) Synced local ‘.github/pull_request_template.md’ with remote ‘.github/pull_request_template.md’ (d74c1e4)
  • (sync) Synced local ‘.github/dependabot.yml’ with remote ‘common/actions/dependabot.yml’ (6cb11a5)
  • (sync) Synced local ‘.github/workflows/deploy-pr-preview.yml’ with remote ‘common/actions/deploy-pr-preview.yml’ (2098376)
  • (sync) Synced local ‘.github/pull_request_template.md’ with remote ‘common/templates/software-pull-request.md’ (04f693e)
  • (sync) Synced local ‘.github/pull_request_template.md’ with remote ‘.github/pull_request_template.md’ (2f24654)
  • (sync) Synced local ‘justfile’ with remote ‘common/justfile/django’ (7bfc346)
  • (sync) Synced local ‘.github/pull_request_template.md’ with remote ‘common/templates/software-pull-request.md’ (f3e6a80)
  • (sync) Synced file(s) with seedcase-project/.github #525 (c6492ac)
  • (sync) Synced local ‘.vscode/settings.json’ with remote ‘.vscode/settings.json’ (7eacb15)
  • (sync) Synced local ‘.github/pull_request_template.md’ with remote ‘.github/pull_request_template.md’ (a14ec08)
  • (sync) Synced local ‘.github/pull_request_template.md’ with remote ‘common/templates/software-pull-request.md’ (be82c6a)
  • (sync) Synced local ‘.vscode/google-notypes.mustache’ with remote ‘.vscode/google-notypes.mustache’ (dfd8d8f)
  • (sync) Synced local ‘.vscode/extensions.json’ with remote ‘.vscode/extensions.json’ (e68ed12)
  • (sync) Synced local ‘.gitignore’ with remote ‘.gitignore’ (51afdb1)
  • (sync) Synced local ‘.github/pull_request_template.md’ with remote ‘.github/pull_request_template.md’ (df776c1)
  • (sync) Synced local ‘.github/workflows/’ with remote ‘.github/workflows/’ (b749f26)
  • (sync) Synced local ‘.vscode/’ with remote ‘.vscode/’ (3d3b99c)
  • (sync) Synced file(s) with seedcase-project/template-python-project #693 (900a087)
  • (sync) Synced local ‘justfile’ with remote ‘justfile’ (61541f3)
  • (sync) Synced local ‘.gitignore’ with remote ‘.gitignore’ (d4e7740)
  • (sync) Synced local ‘.github/workflows/’ with remote ‘.github/workflows/’ (1094acf)
  • (sync) Synced file(s) with seedcase-project/template-python-project #749 (954ec59)
  • (sync) Synced file(s) with seedcase-project/seedcase-theme (d47b72f)
  • (sync) Synced file(s) with seedcase-project/seedcase-theme #771 (e62355d)
  • (sync) Synced local ‘_extensions/seedcase-project/seedcase-theme/’ with remote ‘_extensions/seedcase-theme/’ (e47fc52)
  • (sync) Synced file(s) with seedcase-project/template-python-project #779 (a48f5cb)
  • (sync) Synced local ‘_extensions/seedcase-project/seedcase-theme/’ with remote ‘_extensions/seedcase-theme/’ (f0fa4d0)
  • (sync) Created local ‘404.qmd’ from remote ‘404.qmd’ (1a4165c)
  • (sync) Synced local ‘_extensions/seedcase-project/seedcase-theme/’ with remote ‘_extensions/seedcase-theme/’ (259f04f)
  • (sync) Synced local ‘justfile’ with remote ‘justfile’ (be757fb)
  • (sync) Synced local ‘.github/workflows/’ with remote ‘.github/workflows/’ (2012ccd)
  • (sync) Synced local ‘.gitignore’ with remote ‘.gitignore’ (9e310d8)
  • (sync) Synced local ‘.vscode/’ with remote ‘.vscode/’ (d93f836)
  • (sync) Synced local ‘_extensions/seedcase-project/seedcase-theme/’ with remote ‘_extensions/seedcase-theme/’ (7fe96d0)
  • (sync) Synced local ‘_extensions/seedcase-project/seedcase-theme/’ with remote ‘_extensions/seedcase-theme/’ (5a7beed)
  • (sync) Synced local ‘.gitignore’ with remote ‘.gitignore’ (0b6db14)
  • (sync) Synced local ‘justfile’ with remote ‘justfile’ (46775c0)
  • (sync) Synced local ‘.gitignore’ with remote ‘.gitignore’ (b2501ba)
  • (sync) Synced local ‘justfile’ with remote ‘justfile’ (d3ac2bc)
  • (sync) Synced local ‘_extensions/seedcase-project/seedcase-theme/’ with remote ‘_extensions/seedcase-theme/’ (ea3a703)
  • (sync) Created local ‘_extensions/debruine/’ from remote ‘_extensions/debruine/’ (177972c)
  • (sync) Synced local ‘.pre-commit-config.yaml’ with remote ‘.pre-commit-config.yaml’ (9218dc3)
  • (sync) Synced local ‘.vscode/’ with remote ‘.vscode/’ (f4f4eba)
  • (sync) Synced local ‘.gitignore’ with remote ‘.gitignore’ (234206b)
  • (sync) Synced local ‘justfile’ with remote ‘justfile’ (fcbeddc)
  • (sync) Created local ‘.cz.toml’ from remote ‘.cz.toml’ (6ab287e)
  • (sync) Synced local ‘ruff.toml’ with remote ‘ruff.toml’ (79a1e23)
  • (sync) Synced local ‘.github/workflows/’ with remote ‘.github/workflows/’ (1fef859)
  • (sync) Synced local ‘.vscode/’ with remote ‘.vscode/’ (8013dd3)
  • (sync) Synced local ‘.github/workflows/’ with remote ‘.github/workflows/’ (b16c3ba)
  • (sync) Synced local ‘.github/workflows/’ with remote ‘.github/workflows/’ (ecf476d)
  • Create custom conventional branch names to use. (605c4a8)
  • Don’t need sprout nor v1 in filename (c24e0b6)
  • Remove spout and v1 from text inside files (b5134ce)
  • Small edits to text (2cd0e72)
  • Add pngs of sequence diagrams so @henrik-goul can access them more easily (78284c9)
  • Update user flow diagram after discussion with @K-Beicher (90fe212)
  • Update user flow diagram based on discussions with @K-Beicher (c6ee607)
  • Renmae user flow files and minor edits based on review from @lwjohnst86 (dce11d0)
  • Redo title to avoid / (5e8d647)
  • Add pngs from updated pumls (e7a5b3f)
  • Add TODO tags to these files so we know to fix them later. (025cdc6)
  • Remove leftover file, not needed anymore (6370f28)
  • Remove obsolete noqa F401 comments (48cfac1)
  • Renamed folder to the more accurate name ‘config’ (c90d57d)
  • Update links to use config instead (a890de0)
  • Renamed app folder to sprout, which is clearer on the purpose of it (5f40231)
  • Small TODO item to look into later. (b439346)
  • Fix name of test file to match function name change (fe6dc27)
  • VS Code doesn’t pick up venv of Poetry, so set it to the repo (464949f)
  • Add MIT license keyword to pyproject.toml file (4717c75)
  • Keep css style within it’s own file (27f6661)
  • Don’t need this file anymore (5119849)
  • Revise file name to match naming scheme (df932d2)
  • Rename files and functions to match naming scheme (d2af536)
  • Silly typo in file name, oops (8ec19b9)
  • Fix paths in URLs (ffb5670)
  • Move base.html to includes folder (e118767)
  • Rename home to index (5ba7e58)
  • Rename file to match naming scheme (project-id-view) (7a162e5)
  • Rename Python view file to project_id_view (c16b9e6)
  • Rename HTML template file to project-id-data-id-metadata-edit-grid (3900762)
  • Rename view to match template (bc2fb5d)
  • Matching naming scheme, metadata edit (table style) (398731b)
  • Move includes into own includes folder (2b61980)
  • Rename to naming scheme for data/id/metadata/create (4171db9)
  • Rename file to match scheme for data/id/metadata/edit/table (d8128b1)
  • Match scheme for Python view file, for data/id/metadata/create (3edf97b)
  • Project to projects naming, typo (6b1b3e3)
  • Projects from project, typo (e4c659a)
  • Rename tests to match naming scheme (b0a473e)
  • Accidentally committed this WIP file, append with _ to indicate WIP status (3002e30)
  • Rename based on using metadata first (893e0c4)
  • Remove this leftover file (6fdbf9d)
  • Fix link to base.html (fe2ae9d)
  • Fix links based on naming scheme (a13f1ad)
  • Forgot to rename this file (3c33681)
  • Fix naming of URLs in tests (b23d421)
  • Rename file to use plural projects (2eb1e76)
  • Moved data files into data repo (31150e3)
  • Rename data type files to match naming scheme (9a2e21e)
  • Rename files to match naming scheme for the Columns model (ecd9a89)
  • Rename files for Files model to match naming scheme (24164ee)
  • Rename files related to Tables model based on naming scheme (bf32f1b)
  • Changed project_id to projects_id in file paths (e471635)
  • Generated puml images (1043669)
  • Regenerated puml images (e5b7ac1)
  • Regenerate the puml images (171d4c4)
  • Rename file to better reflect content (252707a)
  • Don’t include title in navbar (0f454f1)
  • Keep title in website html header, but not navbar. (5bca58d)
  • Move wip note to includes folder (8244444)
  • This file is in the teams repo now (168149a)
  • Follow Quarto’s assumed Git root is website root, so we don’t fight their config (ebb76be)
  • Don’t need this gitignore file anymore (1316227)
  • Add Quarto files to docker ignore file (054b3ff)
  • Don’t need this extension (yet?) (e5c9c92)
  • These are duplicates already in the favicon folder (8972ac8)
  • Footer is now in the extension theme (65c2c3c)
  • Move tests to root folder and follow pytest test_ prefix requirement (99c2ff8)
  • Make VSCode aware of using pytest to be able to run integrated testing tools (b5c5a5d)
  • Add test debug config that allows debugging external files (c752bf3)
  • Add sprout to included packages in pyproject.toml #538 (db519ee)
  • Keep only relevant design docs on website #547 (e41a69a)
  • This describes the app pages, not functions, so renamed them #548 (1b954bd)
  • Organize images into their own folders #604 (d12e468)
  • Add Marton to the pyproject.toml file (a4cdbae)
  • Limit functions accessible when importing all #626 (64b7241)
  • Moved files into architecture vs implementation (7ac54e8)
  • Split design content into two sections with sidebar (51cd804)
  • Convert guide landing page to listing with each guide entry #763 (3199259)
  • Move callout block to own file and use include instead #762 (6f1c6d0)
  • Add sprout logo as landing page image #775 (1c12764)
  • Add glossary path and set pop-up settings #829 (36e6e65)
  • Add pre-commit config with commit linting #827 (7503462)
  • Update link to glossary #840 (b84ba4b)
  • Need to end in semicolon #842 (8ec8252)
  • Remove left over app storage folder (52e3f51)