# sparrow-python
[![image](https://img.shields.io/badge/Pypi-0.1.7-green.svg)](https://pypi.org/project/sparrow-python)
[![image](https://img.shields.io/badge/python-3.6+-blue.svg)](https://www.python.org/)
[![image](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)
[![image](https://img.shields.io/badge/author-kunyuan-orange.svg?style=flat-square&logo=appveyor)](https://github.com/beidongjiedeguang)
-------------------------
## Install
```bash
pip install sparrow-python
# Or dev version
pip install sparrow-python[dev]
# Or
pip install -e .
# Or
pip install -e .[dev]
```
## Usage
### Multiprocessing SyncManager
Open server first:
```bash
$ spr start-server
```
The defualt port `50001`.
(Process1) productor:
```python
from sparrow.multiprocess.client import Client
client = Client(port=50001)
client.update_dict({'a': 1, 'b': 2})
```
(Process2) consumer:
```python
from sparrow.multiprocess.client import Client
client = Client(port=50001)
print(client.get_dict_data())
>> > {'a': 1, 'b': 2}
```
### Common tools
- **Kill process by port**
```bash
$ spr kill {port}
```
- **pack & unpack**
support archive format: "zip", "tar", "gztar", "bztar", or "xztar".
```bash
$ spr pack pack_dir
```
```bash
$ spr unpack filename extract_dir
```
- **Scaffold**
```bash
$ spr create awosome-project
```
### Some useful functions
> `sparrow.relp`
> Relative path, which is used to read or save files more easily.
> `sparrow.performance.MeasureTime`
> For measuring time (including gpu time)
> `sparrow.performance.get_process_memory`
> Get the memory size occupied by the process
> `sparrow.performance.get_virtual_memory`
> Get virtual machine memory information
> `sparrow.add_env_path`
> Add python environment variable (use relative file path)
### Safe logger in `multiprocessing`
```python
from sparrow.log import Logger
import numpy as np
logger = Logger(name='train-log', log_dir='./logs', )
logger.info("hello", "numpy:", np.arange(10))
logger2 = Logger.get_logger('train-log')
print(id(logger2) == id(logger))
>> > True
```
Raw data
{
"_id": null,
"home_page": null,
"name": "sparrow-python",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.6",
"maintainer_email": null,
"keywords": "Machine Learning, cli, cv, nlp",
"author": null,
"author_email": "kunyuan <beidongjiedeguang@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/3a/00/67935d31a14b846474d9e17f44dbe37012aefd365bda65cd72e8c8e3f619/sparrow_python-0.2.3.tar.gz",
"platform": null,
"description": "# sparrow-python\n[![image](https://img.shields.io/badge/Pypi-0.1.7-green.svg)](https://pypi.org/project/sparrow-python)\n[![image](https://img.shields.io/badge/python-3.6+-blue.svg)](https://www.python.org/)\n[![image](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)\n[![image](https://img.shields.io/badge/author-kunyuan-orange.svg?style=flat-square&logo=appveyor)](https://github.com/beidongjiedeguang)\n\n\n-------------------------\n\n## Install\n\n```bash\npip install sparrow-python\n# Or dev version\npip install sparrow-python[dev]\n# Or\npip install -e .\n# Or\npip install -e .[dev]\n```\n\n## Usage\n\n### Multiprocessing SyncManager\n\nOpen server first:\n\n```bash\n$ spr start-server\n```\n\nThe defualt port `50001`.\n\n(Process1) productor:\n\n```python\nfrom sparrow.multiprocess.client import Client\n\nclient = Client(port=50001)\nclient.update_dict({'a': 1, 'b': 2})\n```\n\n(Process2) consumer:\n\n```python\nfrom sparrow.multiprocess.client import Client\n\nclient = Client(port=50001)\nprint(client.get_dict_data())\n\n>> > {'a': 1, 'b': 2}\n```\n\n### Common tools\n\n- **Kill process by port**\n\n```bash\n$ spr kill {port}\n```\n\n- **pack & unpack** \n support archive format: \"zip\", \"tar\", \"gztar\", \"bztar\", or \"xztar\".\n\n```bash\n$ spr pack pack_dir\n```\n\n```bash\n$ spr unpack filename extract_dir\n```\n\n- **Scaffold**\n\n```bash\n$ spr create awosome-project\n```\n\n### Some useful functions\n\n> `sparrow.relp` \n> Relative path, which is used to read or save files more easily.\n\n> `sparrow.performance.MeasureTime` \n> For measuring time (including gpu time)\n\n> `sparrow.performance.get_process_memory` \n> Get the memory size occupied by the process\n\n> `sparrow.performance.get_virtual_memory` \n> Get virtual machine memory information\n\n> `sparrow.add_env_path` \n> Add python environment variable (use relative file path)\n\n### Safe logger in `multiprocessing`\n\n```python\nfrom sparrow.log import Logger\nimport numpy as np\n\nlogger = Logger(name='train-log', log_dir='./logs', )\nlogger.info(\"hello\", \"numpy:\", np.arange(10))\n\nlogger2 = Logger.get_logger('train-log')\nprint(id(logger2) == id(logger))\n>> > True\n```\n",
"bugtrack_url": null,
"license": null,
"summary": null,
"version": "0.2.3",
"project_urls": {
"Issues": "https://github.com/beidongjiedeguang/sparrow/issues",
"Source": "https://github.com/beidongjiedeguang/sparrow",
"documentation": "https://github.com/beidongjiedeguang/sparrow#sparrow_tool",
"homepage": "https://github.com/beidongjiedeguang/sparrow",
"repository": "https://github.com/beidongjiedeguang/sparrow"
},
"split_keywords": [
"machine learning",
" cli",
" cv",
" nlp"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "af2258713399708db0b9dde467bde7e675c20c5a8616ed8efa12603747f9868d",
"md5": "bb11c8b4685d168e5b753bf087b3da34",
"sha256": "ead730bfc4ee67c5e27879931ad1e591fee49bc1993a8cc96267f362f50f293f"
},
"downloads": -1,
"filename": "sparrow_python-0.2.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "bb11c8b4685d168e5b753bf087b3da34",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.6",
"size": 880562,
"upload_time": "2024-04-29T17:35:52",
"upload_time_iso_8601": "2024-04-29T17:35:52.433583Z",
"url": "https://files.pythonhosted.org/packages/af/22/58713399708db0b9dde467bde7e675c20c5a8616ed8efa12603747f9868d/sparrow_python-0.2.3-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "3a0067935d31a14b846474d9e17f44dbe37012aefd365bda65cd72e8c8e3f619",
"md5": "20d3a9a2879dad3daf18c5a8d9c23883",
"sha256": "3d7f56ea41b9083f93af8876c15246ddb1bc43fa05022d3c200119899dcdaa84"
},
"downloads": -1,
"filename": "sparrow_python-0.2.3.tar.gz",
"has_sig": false,
"md5_digest": "20d3a9a2879dad3daf18c5a8d9c23883",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 846359,
"upload_time": "2024-04-29T17:35:57",
"upload_time_iso_8601": "2024-04-29T17:35:57.132139Z",
"url": "https://files.pythonhosted.org/packages/3a/00/67935d31a14b846474d9e17f44dbe37012aefd365bda65cd72e8c8e3f619/sparrow_python-0.2.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-04-29 17:35:57",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "beidongjiedeguang",
"github_project": "sparrow",
"github_not_found": true,
"lcname": "sparrow-python"
}