# Nodestream pedantic Plugin
This plugin adds a pedantic mode to nodestream. It will check for the following:
- All node types are defined using `CamelCase`.
- All node types are singular (e.g. `User` not `Users`).
- All relationship types are defined using `UPPER_SNAKE_CASE`
- All property names are defined using `lower_snake_case`
- All pipeline names are defined using `lower-case-with-dashes`
## Installation
```bash
pip install nodestream-plugin-pedantic
```
## Usage
```bash
nodestream audit pedantic
```
Will produce output like:
```
Pipeline load_org_chart is not lower dash case. Suggestion: load-org-chart
Node type People is not singular. Suggestion: Person
Property lastName is not snake case. Suggestion: last_name
Node type number is not camel case. Suggestion: Number
Relationship type is_friends_with is not upper camel case. Suggestion: IS_FRIENDS_WITH
```
Raw data
{
"_id": null,
"home_page": "https://github.com/nodestream-proj/nodestream",
"name": "nodestream-plugin-pedantic",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.10",
"maintainer_email": null,
"keywords": "etl, neo4j, declarative, data, kafka, ingest, nodestream",
"author": "Zach Probst",
"author_email": "Zach_Probst@intuit.com",
"download_url": "https://files.pythonhosted.org/packages/b3/67/6f263586ef19d9b41be0e930c7bdcd650f2447a6a83147cc27fc321653ab/nodestream_plugin_pedantic-0.12.0.tar.gz",
"platform": null,
"description": "# Nodestream pedantic Plugin\n\nThis plugin adds a pedantic mode to nodestream. It will check for the following:\n\n- All node types are defined using `CamelCase`.\n- All node types are singular (e.g. `User` not `Users`).\n- All relationship types are defined using `UPPER_SNAKE_CASE`\n- All property names are defined using `lower_snake_case`\n- All pipeline names are defined using `lower-case-with-dashes`\n\n## Installation\n\n```bash\npip install nodestream-plugin-pedantic\n```\n\n## Usage\n\n```bash\nnodestream audit pedantic\n```\n\nWill produce output like:\n\n```\nPipeline load_org_chart is not lower dash case. Suggestion: load-org-chart\nNode type People is not singular. Suggestion: Person\nProperty lastName is not snake case. Suggestion: last_name\nNode type number is not camel case. Suggestion: Number\nRelationship type is_friends_with is not upper camel case. Suggestion: IS_FRIENDS_WITH\n```\n",
"bugtrack_url": null,
"license": "Apache-2.0",
"summary": "A nodestream plugin that provides a series of audits to ensure high quality and consistent nodestream projects.",
"version": "0.12.0",
"project_urls": {
"Documentation": "https://nodestream-proj.github.io/nodestream-plugin-pedantic",
"Homepage": "https://github.com/nodestream-proj/nodestream",
"Repository": "https://github.com/nodestream-proj/nodestream-plugin-pedantic"
},
"split_keywords": [
"etl",
" neo4j",
" declarative",
" data",
" kafka",
" ingest",
" nodestream"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "2d0d8217fc3156352a6f0b133eb0999f29fa186516581494b3c435ed9bdfce8f",
"md5": "4efa0451a473ac050530569ef7fa38b7",
"sha256": "c7276273cb5a9865971d4d259de5a5a19bc6c1f31c6c5b288c8cb5681da53a09"
},
"downloads": -1,
"filename": "nodestream_plugin_pedantic-0.12.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "4efa0451a473ac050530569ef7fa38b7",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.10",
"size": 7632,
"upload_time": "2024-04-05T17:36:24",
"upload_time_iso_8601": "2024-04-05T17:36:24.296372Z",
"url": "https://files.pythonhosted.org/packages/2d/0d/8217fc3156352a6f0b133eb0999f29fa186516581494b3c435ed9bdfce8f/nodestream_plugin_pedantic-0.12.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "b3676f263586ef19d9b41be0e930c7bdcd650f2447a6a83147cc27fc321653ab",
"md5": "3916b64aa456ae0cbbba1abe322ac7ca",
"sha256": "0dd087dc01ea7e743d16f9f38bfaedff4b015c3cfde5dd3bf0a4ba2abcffebdb"
},
"downloads": -1,
"filename": "nodestream_plugin_pedantic-0.12.0.tar.gz",
"has_sig": false,
"md5_digest": "3916b64aa456ae0cbbba1abe322ac7ca",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.10",
"size": 6703,
"upload_time": "2024-04-05T17:36:25",
"upload_time_iso_8601": "2024-04-05T17:36:25.822752Z",
"url": "https://files.pythonhosted.org/packages/b3/67/6f263586ef19d9b41be0e930c7bdcd650f2447a6a83147cc27fc321653ab/nodestream_plugin_pedantic-0.12.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-04-05 17:36:25",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "nodestream-proj",
"github_project": "nodestream",
"travis_ci": false,
"coveralls": true,
"github_actions": true,
"lcname": "nodestream-plugin-pedantic"
}