{ "info": { "author": "Jon Pavelich", "author_email": "pypi@jonpavelich.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.7" ], "description": "\n# Pastebin Archiver\n## What is this?\nThis app retrieves new posts made on Pastebin.com and stores them offline in a database. You can see the latest public posts it will retrieve [here](https://pastebin.com/archive).\n\n## Why?\nSome of the pastes posted to Pastebin contain interesting or sensitive data, and sometimes pastes are deleted by their poster or Pastebin staff. Running an instance of this archiver lets you retrieve deleted pastes and build a large dataset to run queries against.\n\n## Pastebin API info\n_Important:_ This archiver uses the [Pastebin Scraping API](https://pastebin.com/doc_scraping_api) which requires a whitelisted IP address and a Lifetime Pro account to use. [More info here](https://pastebin.com/faq#17).\n\n## Installation\n### Install from PyPI (recommended)\n1. Ensure you have Python 3.7+ installed.\n2. Run `pip install pastebin_archiver`\n3. Done! Jump down to the [Usage](#usage) section to get started.\n\n### Install from source\n1. Ensure you have Python 3.7+ and pipenv installed\n ```shell\n $ python --version\n Python 3.7.4\n $ pipenv --version\n pipenv, version 2018.11.26\n ```\n2. Clone the git repository\n ```shell\n git clone https://gitlab.com/jonpavelich/pastebin-archiver.git \n ```\n3. Install the dependencies\n ```shell\n $ cd pastebin-archiver\n $ pipenv install --dev\n ``` \n4. Install the local package\n ```shell\n $ pipenv shell\n $ pip install -e .\n ```\n5. Run it\n ```shell\n $ python -m pastebin_archiver\n ```\n\n## Usage\n### Command line usage\nIf you installed the package using pip, then you can simply run `pastebin-archiver`: \n```shell\n$ pastebin-archiver # Run with default settings\n$ pastebin-archiver --help # Print available command line options\n```\n\n### Python usage \nIf you'd prefer to use the package in your own code, you can do so like this:\n```python\n# Import the package\nfrom pastebin_archiver import PastebinArchiver\n\n# (Optional) configure logging\nlogging.basicConfig(level=logging.DEBUG) \n\n# Run the application\napp = PastebinArchiver()\napp.main()\n```\n_Important:_ `app.main()` does not return, it runs forever looking for new pastes to fetch.\n\n## Configuration\n### Database\nBy default, the fetched data will be saved to a SQLite database file in your working directory called `pastebin.db`. You can change this behaviour by passing in a database connection string using the `--database` option. For example:\n```shell\n$ pastebin-archiver --database 'postgresql://user:pass@localhost/mydatabase'\n```\n\nFor detailed info on connection strings, see [the SQLAlchemy documentation](https://docs.sqlalchemy.org/en/13/core/engines.html#database-urls).\n\n## Contributing\nIf you find any bugs or have any suggestions to improve the project, please [open an issue](https://gitlab.com/jonpavelich/pastebin-archiver/issues/new) on GitLab. I'm not accepting merge requests for the project at this time, but you're always welcome to fork the project and work on it yourself.\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://gitlab.com/jonpavelich/pastebin-archiver", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "pastebin-archiver", "package_url": "https://pypi.org/project/pastebin-archiver/", "platform": "", "project_url": "https://pypi.org/project/pastebin-archiver/", "project_urls": { "Homepage": "https://gitlab.com/jonpavelich/pastebin-archiver" }, "release_url": "https://pypi.org/project/pastebin-archiver/0.1.1/", "requires_dist": [ "requests", "sqlalchemy", "apscheduler", "psycopg2-binary ; extra == 'postgresql'" ], "requires_python": ">=3.7.0", "summary": "Archive all public posts from Pastebin.com", "version": "0.1.1" }, "last_serial": 5894338, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "faf5ee396103cb42afc2953c04b15181", "sha256": "26d36e863b5f317da26af33f4cced47090a95a32243d5b33d538325b9724c4f3" }, "downloads": -1, "filename": "pastebin_archiver-0.1.0-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "faf5ee396103cb42afc2953c04b15181", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.7.0", "size": 9916, "upload_time": "2019-09-27T06:07:29", "url": "https://files.pythonhosted.org/packages/fe/02/bec3262c19b0e06d51d4b48df84b63e4a0df80504b8752ad373104adda99/pastebin_archiver-0.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ea90f015d3d3db9dff859f1531ba93c9", "sha256": "bd130226d74e8618f1805dbf439f93dab8b5bf8653213f90b69ca777595d57de" }, "downloads": -1, "filename": "pastebin_archiver-0.1.0.tar.gz", "has_sig": true, "md5_digest": "ea90f015d3d3db9dff859f1531ba93c9", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7.0", "size": 7951, "upload_time": "2019-09-27T06:07:33", "url": "https://files.pythonhosted.org/packages/f0/46/8eeae2ffbe9ad1088160e0042ae2d8869b7d935d5db4ee316c5c31b25b00/pastebin_archiver-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "e710ad59cf855e6d58efa258ab5bbba6", "sha256": "2d19f61579a1bae47e1d3f54e72639bd5e87dce06a70ee2d4607387259c18cc3" }, "downloads": -1, "filename": "pastebin_archiver-0.1.1-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "e710ad59cf855e6d58efa258ab5bbba6", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.7.0", "size": 9914, "upload_time": "2019-09-27T06:08:17", "url": "https://files.pythonhosted.org/packages/64/cc/bdd0e8f919f397891b2545084b0e7abfef4cdb2702df27b9e69e96205069/pastebin_archiver-0.1.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0dd7291d6b0c1bad1e92f96eddefb7d2", "sha256": "5e422c0f03af629a75915cf8949c94b9927f85aa0d81d4d5c5db87d87dc5021e" }, "downloads": -1, "filename": "pastebin_archiver-0.1.1.tar.gz", "has_sig": true, "md5_digest": "0dd7291d6b0c1bad1e92f96eddefb7d2", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7.0", "size": 7944, "upload_time": "2019-09-27T06:08:19", "url": "https://files.pythonhosted.org/packages/16/cd/83a3fcc37649d763561cd7929d3fc607bc16040d921a50d9121315a9827f/pastebin_archiver-0.1.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "e710ad59cf855e6d58efa258ab5bbba6", "sha256": "2d19f61579a1bae47e1d3f54e72639bd5e87dce06a70ee2d4607387259c18cc3" }, "downloads": -1, "filename": "pastebin_archiver-0.1.1-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "e710ad59cf855e6d58efa258ab5bbba6", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.7.0", "size": 9914, "upload_time": "2019-09-27T06:08:17", "url": "https://files.pythonhosted.org/packages/64/cc/bdd0e8f919f397891b2545084b0e7abfef4cdb2702df27b9e69e96205069/pastebin_archiver-0.1.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0dd7291d6b0c1bad1e92f96eddefb7d2", "sha256": "5e422c0f03af629a75915cf8949c94b9927f85aa0d81d4d5c5db87d87dc5021e" }, "downloads": -1, "filename": "pastebin_archiver-0.1.1.tar.gz", "has_sig": true, "md5_digest": "0dd7291d6b0c1bad1e92f96eddefb7d2", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7.0", "size": 7944, "upload_time": "2019-09-27T06:08:19", "url": "https://files.pythonhosted.org/packages/16/cd/83a3fcc37649d763561cd7929d3fc607bc16040d921a50d9121315a9827f/pastebin_archiver-0.1.1.tar.gz" } ] }