https://github.com/rotationalio/schemate
Analyzes NoSQL or JSON documents to try to infer a schema or general properties.
https://github.com/rotationalio/schemate
json nosql schema
Last synced: 2 months ago
JSON representation
Analyzes NoSQL or JSON documents to try to infer a schema or general properties.
- Host: GitHub
- URL: https://github.com/rotationalio/schemate
- Owner: rotationalio
- License: bsd-3-clause
- Created: 2025-03-31T17:50:21.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-04-07T21:22:17.000Z (about 1 year ago)
- Last Synced: 2025-09-05T17:12:15.706Z (10 months ago)
- Topics: json, nosql, schema
- Language: Python
- Homepage:
- Size: 49.8 KB
- Stars: 0
- Watchers: 5
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Schemate
**Analyzes NoSQL or JSON documents to try to infer a schema or general properties.**
## Developer Information
If you are a schemate developer there are several helper utilities built into the library that will allow you to manage datasets and models both locally and in the cloud. But first, there are additional dependencies that you must install.
In `requirements.txt` uncomment the section that says: `"# Packaging Dependencies"`, e.g. your requirements should now have a section that appears similar to:
```
# Packaging Dependencies
black==25.1.0
build==1.2.2.post1
flake8==7.2.0
packaging==24.2
pip==25.0.1
setuptools==75.3.0
twine==6.1.0
wheel==0.45.1
```
**NOTE:** the README might not be up to date with all required dependencies, so make sure you use the latest `requirements.txt`.
Then install these dependencies and the test dependencies:
```
$ pip install -r requirements.txt
$ pip install -r tests/requirements.txt
```
### Tests and Linting
All tests are in the `tests` folder and are structured identically to the `schemate` module. All tests can be run with `pytest`:
```
$ pytest
```
We use `flake8` for linting as configured in `setup.cfg` -- note that the `.flake8` file is for IDEs only and is not used when running tests. If you want to use `black` to automatically format your files:
```
$ black path/to/file.py
```
### Releases
To release the schemate library and deploy to PyPI run the following commands:
```
$ python -m build
$ twine upload dist/*
```