so_pip
======
Everyone copies code from StackOverflow, but no one is formalizing it.
This will vendorize the source code of question or answer into a folder and
generate the accessory files to make it look like a python package.
The feature-set overlaps a bit with [cookie cutter, vendorizing libraries and
stackoverflow search cli's](https://github.com/matthewdeanmartin/so_pip/blob/main/docs/prior_art.md).
Badges
------
![Libraries.io dependency status for latest release](https://img.shields.io/librariesio/release/pypi/so-pip)
[![Downloads](https://pepy.tech/badge/so-pip/month)](https://pepy.tech/project/so-pip/month)
[![CodeFactor](https://www.codefactor.io/repository/github/matthewdeanmartin/so_pip/badge)](https://www.codefactor.io/repository/github/matthewdeanmartin/so_pip)
Installation
------------
Requires Python 3.11+
```
pip install so_pip
# or
pipenv install so_pip --pre --skip-lock
so_pip vendorize my_name --question=31049648 --output=output
```
Using via [dockerhub](https://hub.docker.com/repository/docker/matthewdeanmartin/so_pip)
```
# for mac, unix, cmd.exe, powershell
docker pull matthewdeanmartin/so_pip
docker run --rm -i -v "$PWD/data:/data" matthewdeanmartin/so_pip --help
```
If you use git bash/mingw64/cygwin, see [run.sh](https://github.com/matthewdeanmartin/so_pip/blob/main/docker/run.sh)
because docker needs help doing a volume mount.
Usage
--------------
Consider getting a [key](https://stackapps.com/apps/oauth/register) and adding a [.so_pip.ini file](https://github.com/matthewdeanmartin/so_pip/blob/main/.so_pip.ini) The app will make best efforts if you don't.
```
# Turn posts into nicely formated packages
> so_pip vendorize my_name --question=31049648 | --answer=31049648
> so_pip search --answer=31049648 --tags=python
# Pip-like commands
> so_pip uninstall | upgrade {package_name}
> so_pip list | freeze
```
Docs
-----
* [Examples](https://github.com/matthewdeanmartin/so_pip/tree/main/examples)
* [Workflows](https://github.com/matthewdeanmartin/so_pip/blob/main/docs/workflows.md)
* [CLI](https://github.com/matthewdeanmartin/so_pip/blob/main/docs/cli.md)
* [Code reuse scanarios you see on StackOverflow](https://github.com/matthewdeanmartin/so_pip/blob/main/docs/scenarios.md)
* [Features](https://github.com/matthewdeanmartin/so_pip/blob/main/docs/features.md)
* [Security Considerations](https://github.com/matthewdeanmartin/so_pip/blob/main/docs/security.md)
* [Prior Art](https://github.com/matthewdeanmartin/so_pip/blob/main/docs/prior_art.md) Similar and overlapping tools.
* [Contributing *answers* to StackOverflow](https://github.com/matthewdeanmartin/so_pip/blob/main/docs/contributing.md) AKA, fixing answers you found.
* [Attribution Compliance](https://github.com/matthewdeanmartin/so_pip/blob/main/docs/comply_with_cc_sa.md)
* [Contributing to so_pip](https://github.com/matthewdeanmartin/so_pip/blob/main/CONTRIBUTING.md)
* [Code of Conduct for so_pip](https://github.com/matthewdeanmartin/so_pip/blob/main/CODE_OF_CONDUCT.md)
Raw data
{
"_id": null,
"home_page": "https://github.com/matthewdeanmartin/so_pip",
"name": "so-pip",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.11",
"maintainer_email": "",
"keywords": "packaging,stackoverflow",
"author": "Matthew Martin",
"author_email": "matthewdeanmartin@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/9b/3d/a4286e6d86db0163b9596ddd4c9b4e1f4022191ed43d3bfadd9586f81772/so_pip-0.3.0.tar.gz",
"platform": null,
"description": "so_pip\n======\nEveryone copies code from StackOverflow, but no one is formalizing it.\n\nThis will vendorize the source code of question or answer into a folder and\ngenerate the accessory files to make it look like a python package.\n\nThe feature-set overlaps a bit with [cookie cutter, vendorizing libraries and\nstackoverflow search cli's](https://github.com/matthewdeanmartin/so_pip/blob/main/docs/prior_art.md).\n\nBadges\n------\n\n![Libraries.io dependency status for latest release](https://img.shields.io/librariesio/release/pypi/so-pip)\n[![Downloads](https://pepy.tech/badge/so-pip/month)](https://pepy.tech/project/so-pip/month)\n[![CodeFactor](https://www.codefactor.io/repository/github/matthewdeanmartin/so_pip/badge)](https://www.codefactor.io/repository/github/matthewdeanmartin/so_pip)\n\nInstallation\n------------\nRequires Python 3.11+\n```\npip install so_pip\n# or\npipenv install so_pip --pre --skip-lock\n\nso_pip vendorize my_name --question=31049648 --output=output\n```\n\nUsing via [dockerhub](https://hub.docker.com/repository/docker/matthewdeanmartin/so_pip)\n```\n# for mac, unix, cmd.exe, powershell\ndocker pull matthewdeanmartin/so_pip\ndocker run --rm -i -v \"$PWD/data:/data\" matthewdeanmartin/so_pip --help\n```\nIf you use git bash/mingw64/cygwin, see [run.sh](https://github.com/matthewdeanmartin/so_pip/blob/main/docker/run.sh)\nbecause docker needs help doing a volume mount.\n\n\nUsage\n--------------\nConsider getting a [key](https://stackapps.com/apps/oauth/register) and adding a [.so_pip.ini file](https://github.com/matthewdeanmartin/so_pip/blob/main/.so_pip.ini) The app will make best efforts if you don't.\n```\n# Turn posts into nicely formated packages\n> so_pip vendorize my_name --question=31049648 | --answer=31049648\n> so_pip search --answer=31049648 --tags=python\n\n# Pip-like commands\n> so_pip uninstall | upgrade {package_name}\n> so_pip list | freeze\n```\n\nDocs\n-----\n* [Examples](https://github.com/matthewdeanmartin/so_pip/tree/main/examples)\n* [Workflows](https://github.com/matthewdeanmartin/so_pip/blob/main/docs/workflows.md)\n* [CLI](https://github.com/matthewdeanmartin/so_pip/blob/main/docs/cli.md)\n* [Code reuse scanarios you see on StackOverflow](https://github.com/matthewdeanmartin/so_pip/blob/main/docs/scenarios.md)\n* [Features](https://github.com/matthewdeanmartin/so_pip/blob/main/docs/features.md)\n* [Security Considerations](https://github.com/matthewdeanmartin/so_pip/blob/main/docs/security.md)\n* [Prior Art](https://github.com/matthewdeanmartin/so_pip/blob/main/docs/prior_art.md) Similar and overlapping tools.\n* [Contributing *answers* to StackOverflow](https://github.com/matthewdeanmartin/so_pip/blob/main/docs/contributing.md) AKA, fixing answers you found.\n* [Attribution Compliance](https://github.com/matthewdeanmartin/so_pip/blob/main/docs/comply_with_cc_sa.md)\n* [Contributing to so_pip](https://github.com/matthewdeanmartin/so_pip/blob/main/CONTRIBUTING.md)\n* [Code of Conduct for so_pip](https://github.com/matthewdeanmartin/so_pip/blob/main/CODE_OF_CONDUCT.md)\n\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Generate packages from Stackoverflow answers",
"version": "0.3.0",
"project_urls": {
"Bug Tracker": "https://github.com/matthewdeanmartin/so_pip/issues",
"Change Log": "https://github.com/matthewdeanmartin/so_pip/blob/main/CHANGES.md",
"Documentation": "https://github.com/matthewdeanmartin/so_pip",
"Homepage": "https://github.com/matthewdeanmartin/so_pip",
"Repository": "https://github.com/matthewdeanmartin/so_pip"
},
"split_keywords": [
"packaging",
"stackoverflow"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "e04247d28e07f339ecb4825cf7f92231f111758a16f9bf61142435a4924d1351",
"md5": "f3e9a69ec5b2891df1f195973add2171",
"sha256": "59ee070e05ba1f76a4d2a28d834271b2b87ed3646fecb71388df971cf6c5d280"
},
"downloads": -1,
"filename": "so_pip-0.3.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "f3e9a69ec5b2891df1f195973add2171",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.11",
"size": 4038448,
"upload_time": "2023-05-27T19:41:29",
"upload_time_iso_8601": "2023-05-27T19:41:29.370437Z",
"url": "https://files.pythonhosted.org/packages/e0/42/47d28e07f339ecb4825cf7f92231f111758a16f9bf61142435a4924d1351/so_pip-0.3.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "9b3da4286e6d86db0163b9596ddd4c9b4e1f4022191ed43d3bfadd9586f81772",
"md5": "63531a50c4e1ce81bb7a5227fa6743e3",
"sha256": "2cd8567b20a2f9e4181a2f8f4c3e4cd3f7d2435f5352f47295874f93e8b9777e"
},
"downloads": -1,
"filename": "so_pip-0.3.0.tar.gz",
"has_sig": false,
"md5_digest": "63531a50c4e1ce81bb7a5227fa6743e3",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.11",
"size": 3930742,
"upload_time": "2023-05-27T19:41:31",
"upload_time_iso_8601": "2023-05-27T19:41:31.696507Z",
"url": "https://files.pythonhosted.org/packages/9b/3d/a4286e6d86db0163b9596ddd4c9b4e1f4022191ed43d3bfadd9586f81772/so_pip-0.3.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-05-27 19:41:31",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "matthewdeanmartin",
"github_project": "so_pip",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"tox": true,
"lcname": "so-pip"
}