{ "info": { "author": "Nik Cubrilovic", "author_email": "nikcub@gmail.com", "bugtrack_url": null, "classifiers": [], "description": "## Toolbelt\n\n### data and database utilities\n\n![toolbelt](http://www.gusgusdesigns.co.uk/ekmps/shops/gusgusdesigns/images/pretend-toy-carpenters-tool-belt-from-bigjigs-391-p.jpg)\n\n---\n\nThis repository provides the source code to the `toolbelt` tool, which is a command line client\nwritten in Python that is used to administer systems administration tasks through a variety\nof utilities that have been combined together into a single tool.\n\n*Note: the initial components of this tool previously made up the `replicator`, `geocoder`, `shapeloader` and `load-gnaf` services*\n\n### Overview\n\nRun with `toolbelt` after install (it should be in your path)\n\nAvailable commands:\n\n* `shapeloader` - load directories of shapefiles into Postgresql with specific support for PSMA distributions (selecting subsets of data, based on bbox or states)\n* `initdb` - initializes a database from SQL scripts (for use with `db-schema`)\n* `initsearch` - intializes and builds indexes for Elastic Search based on a defined schema\n\n### Install\n\nThis project is distributed on PyPi - the Python package management environment. It can be installed across all\nplatforms easily and usually with a single command (provided you don't require editing the source code)\n\n*Note: this tool will soon be provided as a standalone binary and installer for all platforms using the PyInstaller library*\n\n1. Setup on Mac OS X\n\nStart with Homebrew:\n\n```sh\n$ brew install python\n$ easy_install toolbelt\n```\n\n*Note: This will install toolbelt globally, the better option would be to install it into its own environment using `virtualenv`\n\n2. Setup with Windows\n\nInstall [python for Windows](http://www.python.org/download/)\n\nOpen a command prompt and run:\n\n```sh\n> pip install eac-toolbelt\n```\n\n3. Run with Docker\n\nRun the `estateagents/sysadmin` Docker image as a container:\n\n```sh\n$ docker run --rm -it estateagents/sysadmin\n```\n\nand then in the shell setup a virtual environment and install `eac-toolbelt`:\n\n```sh\n$ virtualenv .venv\n$ source .venv/bin/activate\n$ pip install eac-toolbelt\n```\n\n### Running\n\nSee the respective repositories in `db-schema` and `search-schema` on how to setup and run this tool in those scenarios.\n\n### Commands\n\n1. shapeloader - Loads Shapefile's into a Postgres or SQL Server database.\n1. initdb - Initializes a database schema for Postgres or SQL Server from a set of definition files\n1. initsearch - Initializes a search index on Elastic Search from a set of definition files\n1. geocode - Geocode addresses using database queries or web service API's and update tables\n1. replicate - Replicate one database to another (supports Postgres and SQL Server bidirectionally)\n1. maplayer - Modify layer properties in Mapnik XML files (switch layers off and on, change credentials)\n\n### environment files\n\nConfiguration is either loaded from the command line, from the environment or from a '.env' file in the current directory or in a parent directory.\n\nVariables all begin with `TOOLBELT_` ex.\n\n1. `TOOLBELT_SRC_DSN` - DSN string for the source database\n1. `TOOLBELT_DEST_DSN` - DSN string for the destination database", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://bitbucket.org/estateagents/toolbelt", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "eac-toolbelt", "package_url": "https://pypi.org/project/eac-toolbelt/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/eac-toolbelt/", "project_urls": { "Homepage": "https://bitbucket.org/estateagents/toolbelt" }, "release_url": "https://pypi.org/project/eac-toolbelt/2.5.5/", "requires_dist": [ "elasticsearch (==5.2.0)", "requests (==2.13.0)", "click (==6.7)", "geojson (==1.3.4)", "psycopg2 (==2.6.2)", "python-dotenv (==0.6.3)", "sqlparse (==0.2.2)", "pymssql (==2.1.3)" ], "requires_python": "", "summary": "Database tool scripts.", "version": "2.5.5" }, "last_serial": 2701025, "releases": { "0.2.dev0": [], "1.0": [ { "comment_text": "", "digests": { "md5": "9ad8ec9246c3a3c0f7274960358c921a", "sha256": "464b2db5bc4be00ac4d47f568829c62177a159b50f4f02632b785285f60c8db4" }, "downloads": -1, "filename": "eac-toolbelt-1.0.macosx-10.12-x86_64.tar.gz", "has_sig": false, "md5_digest": "9ad8ec9246c3a3c0f7274960358c921a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2251, "upload_time": "2017-02-13T15:01:53", "url": "https://files.pythonhosted.org/packages/b5/aa/747cf067cf9bc7c5b4d81e3ebf9864bf4242148bce0a5242dba001ab9d61/eac-toolbelt-1.0.macosx-10.12-x86_64.tar.gz" }, { "comment_text": "", "digests": { "md5": "8be6745d0a793751f821b2fd4d027bc9", "sha256": "c03262c252e416b10a7e7e2021550a6cd7dc2b16321744caa890f0bc1884133b" }, "downloads": -1, "filename": "eac_toolbelt-1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "8be6745d0a793751f821b2fd4d027bc9", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 4572, "upload_time": "2017-02-13T15:05:44", "url": "https://files.pythonhosted.org/packages/ab/c2/fa9c83c5e8039e78614c1613aa934a54ed75cd289e92515e64be7ec0f817/eac_toolbelt-1.0-py2.py3-none-any.whl" } ], "1.2": [ { "comment_text": "", "digests": { "md5": "420251f4e683bc0d20a9ea1295c81b28", "sha256": "94d9c837cef53ade1051590cf5e94027b75f61fe80b6b371818850f9d92e1f9b" }, "downloads": -1, "filename": "eac_toolbelt-1.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "420251f4e683bc0d20a9ea1295c81b28", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 4558, "upload_time": "2017-02-13T15:36:50", "url": "https://files.pythonhosted.org/packages/69/47/5df2924464c82850ff76e359aafdf13fc531ea7068f83299ffc9949b38c5/eac_toolbelt-1.2-py2.py3-none-any.whl" } ], "1.3": [ { "comment_text": "", "digests": { "md5": "e8dcd41f6b14d8d5cc3b92bba7849eae", "sha256": "21f7847660461092c01465808a4e07a0d45a032c1495931e059a600d283635a7" }, "downloads": -1, "filename": "eac_toolbelt-1.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e8dcd41f6b14d8d5cc3b92bba7849eae", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 4269, "upload_time": "2017-02-13T15:55:21", "url": "https://files.pythonhosted.org/packages/9c/8d/5d92fe12885118059d74d418b1667e505e5639f74c216818ea691bd6d928/eac_toolbelt-1.3-py2.py3-none-any.whl" } ], "1.4": [ { "comment_text": "", "digests": { "md5": "d00064a34974e57e98197dbe1104c5e2", "sha256": "1e0ba40863a2a6791492eb0069c3d64166221e70c7cc72e52b60184cfc1f3e60" }, "downloads": -1, "filename": "eac_toolbelt-1.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d00064a34974e57e98197dbe1104c5e2", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 4289, "upload_time": "2017-02-13T16:36:33", "url": "https://files.pythonhosted.org/packages/80/e1/a24c2dbe0302f59980104f7726d4ebbe52ee945e709b4c3eab3f2e43fa96/eac_toolbelt-1.4-py2.py3-none-any.whl" } ], "1.5": [ { "comment_text": "", "digests": { "md5": "65ada909691082c2dcdb4eed5d524812", "sha256": "bb3ccf4c05a774bf408a3a268340113108b943ef89488780daa62986182428a6" }, "downloads": -1, "filename": "eac_toolbelt-1.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "65ada909691082c2dcdb4eed5d524812", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 4264, "upload_time": "2017-02-13T20:06:48", "url": "https://files.pythonhosted.org/packages/03/1d/79615f570f9ff10877d20cb2948e9cc3547cf6d096d61cbb41cf31e135bf/eac_toolbelt-1.5-py2.py3-none-any.whl" } ], "1.5.1": [ { "comment_text": "", "digests": { "md5": "ac8e3cd2ba90bd0733dda9ba2367145e", "sha256": "b5e4519133ddf5dc9cd3ad26b6d7bba29421f7c7847286f7011504823beba72f" }, "downloads": -1, "filename": "eac_toolbelt-1.5.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "ac8e3cd2ba90bd0733dda9ba2367145e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 4293, "upload_time": "2017-02-13T21:19:54", "url": "https://files.pythonhosted.org/packages/6c/46/93410c2526815af0a05ab19e9bdd45eed7cffb9254db3775569ebcbdd0f7/eac_toolbelt-1.5.1-py2.py3-none-any.whl" } ], "1.6": [ { "comment_text": "", "digests": { "md5": "bf16a604ca57917a6a79d4fc5ca22b36", "sha256": "d729320711af7a3f29fd01e26f4c2156e49595534025418a52f0b17ceefae41b" }, "downloads": -1, "filename": "eac_toolbelt-1.6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "bf16a604ca57917a6a79d4fc5ca22b36", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 5146, "upload_time": "2017-02-16T20:05:52", "url": "https://files.pythonhosted.org/packages/4f/62/bfb2b8feb2a93d8a9bc3bcce7ecb77cf85fe7156179f48a53de309e6c19d/eac_toolbelt-1.6-py2.py3-none-any.whl" } ], "1.7": [ { "comment_text": "", "digests": { "md5": "f3e52af9a2e8c068812aae7ecad257d6", "sha256": "a88be7dd78f8d005df3bd3015a20c12c63753f0c01f85ea26c027d75bb06e707" }, "downloads": -1, "filename": "eac_toolbelt-1.7-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f3e52af9a2e8c068812aae7ecad257d6", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 5143, "upload_time": "2017-02-18T08:21:07", "url": "https://files.pythonhosted.org/packages/7b/6b/5af7dc5654f2beaad91547e0b0b73edb1b53314e5edf89373402b27bbabd/eac_toolbelt-1.7-py2.py3-none-any.whl" } ], "1.8": [ { "comment_text": "", "digests": { "md5": "e25e10757b6f187376213191c89b39e4", "sha256": "4961b11c99e6a74af5e2e0b461ddaec66e42035d42176e3ae6f99e56e4308881" }, "downloads": -1, "filename": "eac_toolbelt-1.8-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e25e10757b6f187376213191c89b39e4", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 5144, "upload_time": "2017-02-19T22:15:49", "url": "https://files.pythonhosted.org/packages/1b/1e/3cbd7f11c1fac970900dff71366c4729483695c1652c843898681c6a317a/eac_toolbelt-1.8-py2.py3-none-any.whl" } ], "2.1": [ { "comment_text": "", "digests": { "md5": "5aedb79688d91bf7e290f91af34ba835", "sha256": "f0392974de78f21aa3c5837ac23255bcaf1ff45560f82d9423512c12749aa58d" }, "downloads": -1, "filename": "eac_toolbelt-2.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "5aedb79688d91bf7e290f91af34ba835", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 5372, "upload_time": "2017-02-28T02:27:00", "url": "https://files.pythonhosted.org/packages/2e/44/dcea076fef0714e0c61e3b3697a503e459d9502247c453fb1b13997922ae/eac_toolbelt-2.1-py2.py3-none-any.whl" } ], "2.4": [ { "comment_text": "", "digests": { "md5": "9566f09a8586286fc8fe25f1f327fbd0", "sha256": "d2f70de10d8bb88729c11db4fb5a6ee4159135b9c0042882d0cf4fbe304cd9d0" }, "downloads": -1, "filename": "eac_toolbelt-2.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "9566f09a8586286fc8fe25f1f327fbd0", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 5375, "upload_time": "2017-03-08T20:51:25", "url": "https://files.pythonhosted.org/packages/9a/ce/69afee7f49321bbd473f6a096e130e46bb51edf3c979842e82ec499e3f97/eac_toolbelt-2.4-py2.py3-none-any.whl" } ], "2.5": [ { "comment_text": "", "digests": { "md5": "b868bc6b975e7af9abf3aa6fb5b5bdc3", "sha256": "ee179ec30a09a0167e0fa2335e21b6d187efa1400e587d2d26550fcced3bd59c" }, "downloads": -1, "filename": "eac_toolbelt-2.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b868bc6b975e7af9abf3aa6fb5b5bdc3", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 5699, "upload_time": "2017-03-12T15:54:05", "url": "https://files.pythonhosted.org/packages/15/02/71b34c51354e990c5ef88794e0e9a4be9ee9138354ef39ceeb802e6fa09b/eac_toolbelt-2.5-py2.py3-none-any.whl" } ], "2.5.1": [ { "comment_text": "", "digests": { "md5": "097bdf0ab15a560bdce69a5475ac8b61", "sha256": "75f06977c7b1081a63452e798cedbfb718bf4a9c040716332d9bfee151df4261" }, "downloads": -1, "filename": "eac_toolbelt-2.5.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "097bdf0ab15a560bdce69a5475ac8b61", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 5736, "upload_time": "2017-03-12T15:58:57", "url": "https://files.pythonhosted.org/packages/1b/d0/4080ec535fbb05126c1aa6893b6eeb483f03d75c77040b785b66d0c6fe7c/eac_toolbelt-2.5.1-py2.py3-none-any.whl" } ], "2.5.2": [ { "comment_text": "", "digests": { "md5": "71affe5d62969a4948b36229f34c4f01", "sha256": "03649260bac48acd325bff2a9982e4cf9eee1b45f018c73106208787f256a0fa" }, "downloads": -1, "filename": "eac_toolbelt-2.5.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "71affe5d62969a4948b36229f34c4f01", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 5748, "upload_time": "2017-03-12T16:06:24", "url": "https://files.pythonhosted.org/packages/cd/bb/34d56adc877c253a8f4fa1d163c1834dc3c812c5ded0e682d008da3737f6/eac_toolbelt-2.5.2-py2.py3-none-any.whl" } ], "2.5.3": [ { "comment_text": "", "digests": { "md5": "ef2cbcdddfa3642b26bfd5831b8a7230", "sha256": "014c4739c5162b51383c888e72e1c83a182c5e8634c7862423d1339d9ea9a203" }, "downloads": -1, "filename": "eac_toolbelt-2.5.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "ef2cbcdddfa3642b26bfd5831b8a7230", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 5749, "upload_time": "2017-03-12T16:13:02", "url": "https://files.pythonhosted.org/packages/12/f6/82a21b4eb6aed9f3b62f293b4b0e36c040b7063c5b7da8dd3a9bb7c72d52/eac_toolbelt-2.5.3-py2.py3-none-any.whl" } ], "2.5.4": [ { "comment_text": "", "digests": { "md5": "affe7e2368f47fbd787fa280f09362e6", "sha256": "d802cf4ce6c0557991cc4ef93a1379c1160bce7e733b73961a37f0f54780d2bd" }, "downloads": -1, "filename": "eac_toolbelt-2.5.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "affe7e2368f47fbd787fa280f09362e6", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 5440, "upload_time": "2017-03-12T16:23:00", "url": "https://files.pythonhosted.org/packages/af/b1/c873d16c3cbc4974f1b25f245f97e059c4dccb25c06354c75852c62bc6c3/eac_toolbelt-2.5.4-py2.py3-none-any.whl" } ], "2.5.5": [ { "comment_text": "", "digests": { "md5": "75c60fb8192ea0003881a0acc9b74a0d", "sha256": "91086f72554b540a15622e2ab3a7bd53feb2d1d4157f238b3ba3b6662c1a3a3e" }, "downloads": -1, "filename": "eac_toolbelt-2.5.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "75c60fb8192ea0003881a0acc9b74a0d", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 5425, "upload_time": "2017-03-12T20:19:59", "url": "https://files.pythonhosted.org/packages/e6/6b/cac8905ea47486410283dcea0cbd0ed1bb989a4e11eadfb8938acd1eac77/eac_toolbelt-2.5.5-py2.py3-none-any.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "75c60fb8192ea0003881a0acc9b74a0d", "sha256": "91086f72554b540a15622e2ab3a7bd53feb2d1d4157f238b3ba3b6662c1a3a3e" }, "downloads": -1, "filename": "eac_toolbelt-2.5.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "75c60fb8192ea0003881a0acc9b74a0d", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 5425, "upload_time": "2017-03-12T20:19:59", "url": "https://files.pythonhosted.org/packages/e6/6b/cac8905ea47486410283dcea0cbd0ed1bb989a4e11eadfb8938acd1eac77/eac_toolbelt-2.5.5-py2.py3-none-any.whl" } ] }