Repository navigation
Conversation
Contributor
There was a problem hiding this comment.
Copilot review overview
🟡 Changes recommended
The README contains a critical dependency-installation gap and several inaccurate usage instructions.
Get a fresh assessment by requesting another Copilot review.
Review effort: Lite
Findings: 1
Open (6)
Base installation cannot import auth without SQL dependencies · New SisuConfig validation does not load environment or secrets values · New Claim about skipped validation does not apply to all entities · New MariaDB default driver is missing from the SQL extra · New Coverage report ignores uncombined parallel data files · New Copyright header convention conflicts with existing source files · New
What changed in this PR
Expands README.md with comprehensive usage, development, testing, and project-structure documentation.
Changes:
- Adds installation and API usage examples.
- Documents Sisu, schemas, scrambling, and database helpers.
- Adds development, testing, CI, and contribution guidance.
| File | Summary and findings |
|---|---|
README.md |
Documentation expanded. Critical (1 vote, line 26): the default installation omits SQLAlchemy despite imports requiring it. Nits: lines 53 (3 votes), 72 (1), 105 (1), 120 (1), 128 (1), 144 (2), 159 (3), 179 (1), 181 (2), and 227 (2) contain inaccurate API, endpoint, scrambling, validation, dependency, shell-command, coverage, or convention guidance. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Comment on lines
+26
to
+27
| # with the optional SQL dependencies (SQLAlchemy, psycopg2) | ||
| pip install "funidata-utils[sql] @ git+ssh://git@github.com/funidata/funidata-python-utils.git" |
Comment on lines
+53
to
+54
| Because the config classes are Pydantic models, they can also be loaded from JSON, environment variables or a | ||
| secrets manager with `SisuConfig.model_validate(...)`. |
Comment on lines
+144
to
+145
| Entities with `documentState: ACTIVE` are fully validated. `DRAFT` and `DELETED` records are built without | ||
| validation, because they are often incomplete. |
| ``` | ||
|
|
||
| Instead of `override_connection_uri`, you can give `host`, `port`, `username`, `password`, `database`, | ||
| `sql_server_type` and `sql_driver` separately. `MariaDbConfig` is a preconfigured subclass for MariaDB. |
| pytest -m "not e2e" # skip tests that can target a real Sisu | ||
| pytest tests/test_export_methods.py::<test_name> # a single test | ||
|
|
||
| coverage run -m pytest && coverage report |
|
|
||
| ### Conventions | ||
|
|
||
| - Source files start with the `Copyright (c) 2025 Funidata Oy.` header. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.


Attempted to create a high level comprehensive readme for the project using Claude. Fixed some inconsistencies by hand as I reviewed the work.