# 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/cb/fc/1326b0a50374d34d8f31740d627258957bba61c9eefd3541311fdaacd590/nodestream_plugin_pedantic-0.13.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\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.13.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": "2965203a36ac967c5447c54fd291fe87d08d4bae20d92ed90948e83b923584f4",
"md5": "fa64226744dfa8df1a590122ffd7a614",
"sha256": "536fe2c1268d7f68e071b81c55d646ce4ed42256fb74645b991d2fe44f57f990"
},
"downloads": -1,
"filename": "nodestream_plugin_pedantic-0.13.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "fa64226744dfa8df1a590122ffd7a614",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.10",
"size": 7632,
"upload_time": "2024-08-09T17:34:04",
"upload_time_iso_8601": "2024-08-09T17:34:04.643392Z",
"url": "https://files.pythonhosted.org/packages/29/65/203a36ac967c5447c54fd291fe87d08d4bae20d92ed90948e83b923584f4/nodestream_plugin_pedantic-0.13.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "cbfc1326b0a50374d34d8f31740d627258957bba61c9eefd3541311fdaacd590",
"md5": "b9b6bef3fc68cfb047da50327686c5c3",
"sha256": "6667120460c03cabf1f13cf682f66ff1d27494acd62f90189c0781286a2dce8c"
},
"downloads": -1,
"filename": "nodestream_plugin_pedantic-0.13.0.tar.gz",
"has_sig": false,
"md5_digest": "b9b6bef3fc68cfb047da50327686c5c3",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.10",
"size": 6603,
"upload_time": "2024-08-09T17:34:06",
"upload_time_iso_8601": "2024-08-09T17:34:06.107518Z",
"url": "https://files.pythonhosted.org/packages/cb/fc/1326b0a50374d34d8f31740d627258957bba61c9eefd3541311fdaacd590/nodestream_plugin_pedantic-0.13.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-08-09 17:34:06",
"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"
}