# NSV Python
Python implementation of the [NSV (Newline-Separated Values)](https://github.com/namingbe/nsv) format.
## Installation
### From PyPI
```bash
pip install nsv
```
### From Source
```bash
git clone https://github.com/namingbe/nsv-python.git
cd nsv-python
pip install -e .
```
## Usage
### Basic Reading and Writing
```python
import nsv
# Reading NSV data
with open('input.nsv', 'r') as f:
reader = nsv.load(f)
for row in reader:
print(row)
# Writing NSV data
with open('output.nsv', 'w') as f:
writer = nsv.Writer(f)
writer.write_row(['row1cell1', 'row1cell2', 'row1cell3'])
writer.write_row(['row2cell1', 'row2cell2', 'row2cell3'])
```
## Running Tests
```bash
cd tests
python -m unittest
```
Must cover
- `loads(s)` vs `load(StringIO(s))` parity
- `dumps(data)` vs `dump(data, StringIO()).getvalue()` parity
## Features
- [x] Core parsing
- [ ] `table`
Raw data
{
"_id": null,
"home_page": "https://github.com/namingbe/nsv-python",
"name": "nsv",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.6",
"maintainer_email": null,
"keywords": "nsv csv data format parser",
"author": "naming",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/b2/f7/cf5e45f62c22817b07037c916d0b18a9f4b553ba740f886212567f74f1d7/nsv-0.2.0.tar.gz",
"platform": null,
"description": "# NSV Python\n\nPython implementation of the [NSV (Newline-Separated Values)](https://github.com/namingbe/nsv) format.\n\n## Installation\n\n### From PyPI\n\n```bash\npip install nsv\n```\n\n### From Source\n\n```bash\ngit clone https://github.com/namingbe/nsv-python.git\ncd nsv-python\npip install -e .\n```\n\n## Usage\n\n### Basic Reading and Writing\n\n```python\nimport nsv\n\n# Reading NSV data\nwith open('input.nsv', 'r') as f:\n reader = nsv.load(f)\n for row in reader:\n print(row)\n\n# Writing NSV data\nwith open('output.nsv', 'w') as f:\n writer = nsv.Writer(f)\n writer.write_row(['row1cell1', 'row1cell2', 'row1cell3'])\n writer.write_row(['row2cell1', 'row2cell2', 'row2cell3'])\n```\n\n## Running Tests\n\n```bash\ncd tests\npython -m unittest\n```\n\nMust cover\n- `loads(s)` vs `load(StringIO(s))` parity\n- `dumps(data)` vs `dump(data, StringIO()).getvalue()` parity\n\n## Features\n\n- [x] Core parsing\n- [ ] `table`\n\n",
"bugtrack_url": null,
"license": null,
"summary": "Python implementation of the NSV (Newline-Separated Values) format",
"version": "0.2.0",
"project_urls": {
"Bug Reports": "https://github.com/namingbe/nsv-python/issues",
"Homepage": "https://github.com/namingbe/nsv-python",
"Source": "https://github.com/namingbe/nsv-python"
},
"split_keywords": [
"nsv",
"csv",
"data",
"format",
"parser"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "40c9fefb402eab04b971f5b52f542d0d8b3b88e72ee73a9c465c607907362f5e",
"md5": "e8eda1500c5b690c9e96cd7980504e40",
"sha256": "fca10772463679eb516bdeba999f84bcf09979f666321aa197969493308b36bf"
},
"downloads": -1,
"filename": "nsv-0.2.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "e8eda1500c5b690c9e96cd7980504e40",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.6",
"size": 10156,
"upload_time": "2025-07-14T13:11:29",
"upload_time_iso_8601": "2025-07-14T13:11:29.133968Z",
"url": "https://files.pythonhosted.org/packages/40/c9/fefb402eab04b971f5b52f542d0d8b3b88e72ee73a9c465c607907362f5e/nsv-0.2.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "b2f7cf5e45f62c22817b07037c916d0b18a9f4b553ba740f886212567f74f1d7",
"md5": "7b425a74cdca38f2ea660d3e5681c3cb",
"sha256": "9343bf88762949421501ef6ae75a636fad0baadeb9b893797e33d672df6b9492"
},
"downloads": -1,
"filename": "nsv-0.2.0.tar.gz",
"has_sig": false,
"md5_digest": "7b425a74cdca38f2ea660d3e5681c3cb",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 7888,
"upload_time": "2025-07-14T13:11:30",
"upload_time_iso_8601": "2025-07-14T13:11:30.139578Z",
"url": "https://files.pythonhosted.org/packages/b2/f7/cf5e45f62c22817b07037c916d0b18a9f4b553ba740f886212567f74f1d7/nsv-0.2.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-14 13:11:30",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "namingbe",
"github_project": "nsv-python",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "nsv"
}