Fieldwork
Explore unfamiliar data through patterns, source-row evidence, and reproducible investigations. Fieldwork is a Python toolkit for researchers working with pandas dataframes: find availability families, examine dependencies and candidate grains, then choose a useful census path through the data.
Alpha release. Python 3.11–3.14; pandas and NumPy are the only required runtime dependencies.
pip install fieldwork
import pandas as pd
import fieldwork as fw
df = pd.DataFrame({
"site": ["North", "North", "South", "South"],
"exam": [1, 1, 2, 2],
"image": [10, 11, 20, 21],
"report": ["ok", "ok", "ok", None],
})
overview = fw.explore(df)
availability = fw.missingness(df, entity="exam", min_implication=0.75)
paths = fw.suggest_paths(df, features=["site", "exam"])
tree = paths.best.census(df)
print(tree)
Use result.to_frame() for discovery tables and result.inspect(df, finding_id, exceptions=True) for the saved example rows. Duplicate indexes are supported;
inspection checks the ordered source dataset. Use result.select(df, finding_id)
to recover the complete matching population as a Scope, then pass that scope to
missingness or suggest_paths. paths.best.census(df) preserves the selected
population and sentinel conventions. Choose unit="entities" with entity= for
equal entity weights, or keep the default unit="rows". Browse connected feature
evidence with overview.relationships("image"). Save results with to_dict(), export
with render_svg() or render_html(), and reapply a Recipe to later deliveries.
The single-table workflow includes independent levels, contextual pair summaries, joint counts and absence, exact grain graphs, bounded approximate dependency discovery, five census-path objectives, availability signatures and entity summaries, string and numeric patterns, scoped investigations, and delivery comparisons. Topology-only exports retain structure while suppressing quantitative evidence. Automatic related-table discovery is a later extension.
- User documentation source
- Developer documentation: architecture, contracts, algorithms, releases
- Investigation journey and units
- Executable investigation and notebook
- MIT license and extraction provenance
For development: uv sync --locked, uv run pytest, and uv build. Documentation
images are generated from executable examples using the public renderers. Run
uv run python scripts/generate_assets.py after behavior or styling changes;
CI checks concurrence and release builds regenerate the assets.
Metadata
Release files for fieldwork 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| fieldwork-0.1.0.tar.gz | 1.1 MB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| fieldwork-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.1 MB
Release files / fieldwork-0.1.0.tar.gz
| Download URL | fieldwork-0.1.0.tar.gz |
|---|---|
| Size | 1.1 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
dfe85645b6b36b4c2093f09c0bcb4ab79c58470a87b8b69e13e8cabb33ae4900
|
|
BLAKE2b-256 checksum How to use checksums |
f2ca948a5762d163f0be46a4aab268745d195bb4ad7528ac990db7960f810b94
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.11.26 {"installer":{"name":"uv","version":"0.11.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / fieldwork-0.1.0-py3-none-any.whl
| Download URL | fieldwork-0.1.0-py3-none-any.whl |
|---|---|
| Size | 76.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
1f3c8842f5d93e4452accc76f74c776d9be4263cd92e61d6e500bbc08f0f2f67
|
|
BLAKE2b-256 checksum How to use checksums |
d03c65c352811505a6ce65f18fc7c25dac6222635bc569cd8a073219266dc78c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.11.26 {"installer":{"name":"uv","version":"0.11.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Security for fieldwork 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.