Skip to content

Commit

Permalink
Merge branch 'main' into feat/add-custom-quartodoc-renderer
Browse files Browse the repository at this point in the history
  • Loading branch information
signekb authored Jan 10, 2025
2 parents 1b8e179 + 68f7ca9 commit af67e09
Show file tree
Hide file tree
Showing 32 changed files with 313 additions and 231 deletions.
13 changes: 13 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,16 @@
## 0.2.4 (2025-01-10)

### Refactor

- :recycle: can't use the word global on it's own, so renamed to path
- :truck: rename sprout root to sprout global

## 0.2.3 (2025-01-10)

### Refactor

- :truck: rename `SPROUT_ROOT` to `SPROUT_GLOBAL` (#935)

## 0.2.2 (2024-12-18)

### Refactor
Expand Down
2 changes: 1 addition & 1 deletion _quarto.yml
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,7 @@ quartodoc:
- path_resource_raw
- path_resource_raw_files
- path_resources
- path_sprout_root
- path_sprout_global

metadata-files:
- docs/reference/_sidebar.yml
Expand Down
30 changes: 18 additions & 12 deletions docs/design/index.qmd
Original file line number Diff line number Diff line change
Expand Up @@ -4,28 +4,34 @@ title: "Design"

The core aim of Sprout is to **take data and metadata and convert them
into a standardized and organized storage structure** that follows best
practices for data engineering, particularly with a focus on research contexts.
Specifically, Sprout aims to:
practices for data engineering, particularly with a focus on research
contexts. Specifically, Sprout aims to:

1. Take generated data from various source locations (such as
clinics or laboratories), which may be distributed geographically or
1. Take generated data from various source locations (such as clinics
or laboratories), which may be distributed geographically or
organizationally, and store it in a standardized and efficient
format.
2. Ensure that metadata is included for the data and organized in a
standardized format, explicitly and programmatically
linking the metadata to the data.
standardized format, explicitly and programmatically linking the
metadata to the data.

The purpose of these documents is to describe the overall design of
Sprout in enough detail to help us develop it in a way
that is sustainable (i.e., maintainable over the long term) and that ensures we as a team
have a shared understanding of what Sprout is and is not.
The purpose of these documents is to describe the design of
Sprout in enough detail to help us develop it in a way that is
sustainable (i.e., maintainable over the long term) and that ensures we
as a team have a shared understanding of what Sprout is and is not.

Sprout's design builds off of our overall Seedcase [design principles
and patterns](https://design.seedcase-project.org/), in that any design
we create for Sprout should strongly follow the same design principles
and patterns described there. Unless explicitly stated otherwise,
Sprout's design adds to but does not replace the overall design.

There are two main sections of this design documentation:

- [Architecture](architecture/index.qmd): The architecture section
describes the high-level requirements, components, use cases,
expected users, and how the system will be organized and structured.
- [Interface](interface/index.qmd): The interface section gives a
much more detailed description of the software interface for the
- [Interface](interface/index.qmd): The interface section gives a much
more detailed description of the software interface for the
architecture. The detail is at the level of exact Python functions
and CLI commands, as well as their arguments, inputs, and outputs.
4 changes: 2 additions & 2 deletions docs/design/interface/images/core/path-generic.puml
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,11 @@ state "path_*()" as pr {

state args <<entryPoint>>

state "path_sprout_root()" as psr
state "path_sprout_global()" as psr
psr : - Output: path

state "pathlib.Path()" as path
path : - Required args: fstring in form of\n `f"{root}/packages/{package_id}/..."`
path : - Required args: fstring in form of\n `f"{global}/packages/{package_id}/..."`
psr --> path : path object
args --> path : integer

Expand Down
2 changes: 1 addition & 1 deletion docs/design/interface/images/core/path-generic.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
@startuml path-sprout-root
@startuml path-sprout-global
!theme seedcase from https://raw.githubusercontent.com/seedcase-project/seedcase-theme/main

state "path_sprout_root()" as prs {
state "path_sprout_global()" as prs {

state "get_root_envvar()" as gre
gre : - If user sets the `SPROUT_ROOT`\n environment variable
state "get_sprout_global_envvar()" as gre
gre : - If user sets the `SPROUT_GLOBAL`\n environment variable

state condition <<choice>>
gre --> condition : path or none

state "create_root_path()" as crp
state "create_sprout_global_path()" as crp
crp : - Uses `platformdirs` package\n internally
crp : - Ends with `sprout/`
condition --> crp : env var\nnot found
Expand Down
Loading

0 comments on commit af67e09

Please sign in to comment.