{ "info": { "author": "Rhumbix", "author_email": "dev@rhumbix.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Console", "Intended Audience :: Developers", "Intended Audience :: Information Technology", "License :: OSI Approved :: Apache Software License", "Operating System :: OS Independent", "Programming Language :: Python" ], "description": "# DataLoader\n\nThe Rhumbix DataLoader provides a basic utility to import data into your Rhumbix account. It reads in csv files from the `csv_directory` provided in the invocation, and updates or inserts the data to the Rhumbix company identified.\n\nThere are three types of Rhumbix data that can be imported, Projects, Cost Codes, and Worker information. Each data has different required fields and identifiers that roughly follow the csv templates provided by Rhumbix.\n\nThis utility requires a Rhumbix account and access to the API. The Rhumbix company is authenticated through the public API the `company_key` and `api_key`. More documentation on the Public API can be found at http://docs.rhumbix.com/\n\n## Setup\n```\npip install rhumbix_csv_processor\n```\n\n## Usage\n### Process CSV directory\n\nThe script can be invoked as follows:\n\n`rhumbix_csv_uploader csv_directory company_key api_key`\n\nThis will process files matching `rhumbix_employee*.csv` as employee files, `rhumbix_project*.csv` as project files, and `rhumbix_cost_code*.csv` as the cost code files.\n\nOptionally, you may provide a `config.json` in your current directory with any of the following parameters:\n```json\n{\n \"company_key\" : \"YOUR_COMPANY_KEY\",\n \"api_key\" : \"YOUR_API_KEY\",\n \"employee_filename_pattern\" : \"YOUR_EMPLOYEE_FILENAME_REGEX\",\n \"project_filename_pattern\" : \"YOUR_PROJECT_FILENAME_REGEX\",\n \"cost_code_filename_pattern\" : \"YOUR_COSTCODE_FILENAME_REGEX\"\n}\n```\n\n### Employee CSV\n#### File Format\nThe employee processor expects a csv file with no headers and columns formatted in the following order:\n\n`company_supplied_id, first_name, last_name, classification-role, trade, is_active`\n\n### Project CSV\n#### File Format\nThe project processor expects a csv file with no headers. the `Customer Number` is currently not used in Rhumbix. The columns are formatted in the following order:\n\n`job_number, Customer Number - unused, name, is_active`\n\n### Cost Code CSV\n#### File Format\nThe cost code processor expects a csv file with no headers. The `phase` is concatenated with the `cost_code` inside the Rhumbix system. The columns are formatted in the following order:\n\n`job_number, name, cost_code, phase, description`\n\n### Direct Usage\nIf desired, the individual loaders can be called directly with the following format. \n\n```python\nfrom rhumbix_csv_uploader import employee_processor\nemployee_processor.process_csv(\"rhumbix_csv_uploader/test/exampleCSVs/rhumbix_payroll.csv\", COMPANY_KEY, API_KEY)\n```\n\n```python\nfrom rhumbix_csv_uploader import project_processor\nproject_processor.process_csv(\"rhumbix_csv_uploader/test/exampleCSVs/rhumbix_wo.csv\", COMPANY_KEY, API_KEY)\n```\n\n```python\nfrom rhumbix_csv_uploader import cost_code_processor\ncost_code_processor.process_csv(\"rhumbix_csv_uploader/test/exampleCSVs/rhumbix_job_cost_2.csv\", COMPANY_KEY, API_KEY)\n```", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://docs.rhumbix.com/", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "rhumbix-csv-uploader", "package_url": "https://pypi.org/project/rhumbix-csv-uploader/", "platform": "", "project_url": "https://pypi.org/project/rhumbix-csv-uploader/", "project_urls": { "Homepage": "http://docs.rhumbix.com/" }, "release_url": "https://pypi.org/project/rhumbix-csv-uploader/0.0.4/", "requires_dist": null, "requires_python": "", "summary": "Uploads csv data to Rhumbix", "version": "0.0.4" }, "last_serial": 4226103, "releases": { "0.0.2": [ { "comment_text": "", "digests": { "md5": "dcc8dacb8e5e2eba3dd5f1f1a114f54f", "sha256": "c03285aafb31620d51dbfb85f8b9800ed796d71a3ad2e1db357d632dd92a191f" }, "downloads": -1, "filename": "rhumbix_csv_uploader-0.0.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "dcc8dacb8e5e2eba3dd5f1f1a114f54f", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 16246, "upload_time": "2017-09-25T18:54:33", "url": "https://files.pythonhosted.org/packages/e6/8c/03922a7366672458b906504980a856107030d985dcc3bf47eb90eab96711/rhumbix_csv_uploader-0.0.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d58a0c50551ca30935202558dfac75ba", "sha256": "f9d7c40035119a6c8c70bf3ab99dc2c72c1fc2f913d23c4571903058a068dbff" }, "downloads": -1, "filename": "rhumbix_csv_uploader-0.0.2.tar.gz", "has_sig": false, "md5_digest": "d58a0c50551ca30935202558dfac75ba", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9288, "upload_time": "2017-09-25T18:54:34", "url": "https://files.pythonhosted.org/packages/d5/2f/c972e5fc53f49d618eaaeba04dc5c5d1b21b760adb9f220f95cd4d6b6e18/rhumbix_csv_uploader-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "889c458732e6ed020809b75d259109d3", "sha256": "74a986da08379b7cd8565ae7a640a852cb1d6ff91fd0319a633f7fdd9b090a7e" }, "downloads": -1, "filename": "rhumbix_csv_uploader-0.0.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "889c458732e6ed020809b75d259109d3", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 16289, "upload_time": "2017-09-25T18:57:56", "url": "https://files.pythonhosted.org/packages/51/78/219bf714c6c402791d13073cbd99d4abe17ea139bcb8186c11078dcf8bdb/rhumbix_csv_uploader-0.0.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5742b85e4107ddeead742d94faa9a7f8", "sha256": "8c1016a3e7ab5f6a85bbb09ac0ef5bbb2392e810757cb51c1b3637f48a6247e9" }, "downloads": -1, "filename": "rhumbix_csv_uploader-0.0.3.tar.gz", "has_sig": false, "md5_digest": "5742b85e4107ddeead742d94faa9a7f8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9337, "upload_time": "2017-09-25T18:57:59", "url": "https://files.pythonhosted.org/packages/a6/45/9e011b735c5ca8da60d5d09f23b1858aeae61858a1a448a940344aec9af9/rhumbix_csv_uploader-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "afc4b1e034189b6e97abe57e7525b2a8", "sha256": "8d19839ab2d2adf53fbe54ddc65e32ae82827526ef28caf09f770267a877c3d7" }, "downloads": -1, "filename": "rhumbix_csv_uploader-0.0.4.tar.gz", "has_sig": false, "md5_digest": "afc4b1e034189b6e97abe57e7525b2a8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10416, "upload_time": "2018-01-26T21:45:05", "url": "https://files.pythonhosted.org/packages/7f/a8/23577139883bbc25649dcdf02b8c22c367bc309c69a4739f82750a53e615/rhumbix_csv_uploader-0.0.4.tar.gz" } ], "0.0.5.dev11": [ { "comment_text": "", "digests": { "md5": "f7af308c4368eed8c5733d5aaf1ab8b8", "sha256": "30448d51e580adc8183a86909d55f4702dc126dbe357db38834c5c182c599151" }, "downloads": -1, "filename": "rhumbix_csv_uploader-0.0.5.dev11.tar.gz", "has_sig": false, "md5_digest": "f7af308c4368eed8c5733d5aaf1ab8b8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10954, "upload_time": "2018-02-27T22:49:16", "url": "https://files.pythonhosted.org/packages/63/c8/c9375e6fe497a52e3683f7d6af011c4a80734faad6e0d2b307719e97531e/rhumbix_csv_uploader-0.0.5.dev11.tar.gz" } ], "0.0.5.dev19": [ { "comment_text": "", "digests": { "md5": "0ccb19683f86f23f616ae2aaf404187b", "sha256": "f4eba725c55c32f5052470fea67f485c74eb5a7942cbd138b79b51d0026fcbf0" }, "downloads": -1, "filename": "rhumbix_csv_uploader-0.0.5.dev19.tar.gz", "has_sig": false, "md5_digest": "0ccb19683f86f23f616ae2aaf404187b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11318, "upload_time": "2018-03-07T00:42:31", "url": "https://files.pythonhosted.org/packages/2c/33/a31649ed783c4678c66a1dfa984470574462316f855302e5c6c2e5c4c473/rhumbix_csv_uploader-0.0.5.dev19.tar.gz" } ], "0.0.5.dev45": [ { "comment_text": "", "digests": { "md5": "010331d879e483061c5744222cc1cea9", "sha256": "072bd200d3d3274cdb3c5cca720a8c16e843d9b04e945e7f7af74aa8dcc16a5c" }, "downloads": -1, "filename": "rhumbix_csv_uploader-0.0.5.dev45-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "010331d879e483061c5744222cc1cea9", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 28721, "upload_time": "2018-08-31T11:39:03", "url": "https://files.pythonhosted.org/packages/44/a2/486645f63e100c283f2b612b4f2e9883639069a817ecf7af1dab9d9eeeb7/rhumbix_csv_uploader-0.0.5.dev45-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1a8d6e065a234ec3a347f8ec6cee88c9", "sha256": "1a04a36f55346c89d24c96271285d385495865653f966d75c0a0e69642fbd928" }, "downloads": -1, "filename": "rhumbix_csv_uploader-0.0.5.dev45.tar.gz", "has_sig": false, "md5_digest": "1a8d6e065a234ec3a347f8ec6cee88c9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12703, "upload_time": "2018-08-31T11:39:04", "url": "https://files.pythonhosted.org/packages/02/fc/7a96bec75f39608440c4f102500dd00b133445f5ba981f0956c04d6e04c1/rhumbix_csv_uploader-0.0.5.dev45.tar.gz" } ], "0.0.5.dev8": [ { "comment_text": "", "digests": { "md5": "64d608ca21c8b9b109652b705e6884a2", "sha256": "cabdbd496024161b779564c5d1f2f3d1dd7a3e81aa4a1aee9d235995be281f02" }, "downloads": -1, "filename": "rhumbix_csv_uploader-0.0.5.dev8-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "64d608ca21c8b9b109652b705e6884a2", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 25966, "upload_time": "2018-02-23T17:07:40", "url": "https://files.pythonhosted.org/packages/d9/8b/56424b24df5f375255b178d748904abc1eb316e8091cca1eaaaf7420b195/rhumbix_csv_uploader-0.0.5.dev8-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "65671cf80df48e05e31e83882bdd30d4", "sha256": "ecfd9b0d35318a2bde5a32a1049244f29b3b3a54af21ecdf8afbf2cc3356e02a" }, "downloads": -1, "filename": "rhumbix_csv_uploader-0.0.5.dev8.tar.gz", "has_sig": false, "md5_digest": "65671cf80df48e05e31e83882bdd30d4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10991, "upload_time": "2018-02-23T17:07:45", "url": "https://files.pythonhosted.org/packages/67/38/6a8a73df7e6f3ac211b2a9cfedea7fe904463e51f68706d6de870b1585ae/rhumbix_csv_uploader-0.0.5.dev8.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "afc4b1e034189b6e97abe57e7525b2a8", "sha256": "8d19839ab2d2adf53fbe54ddc65e32ae82827526ef28caf09f770267a877c3d7" }, "downloads": -1, "filename": "rhumbix_csv_uploader-0.0.4.tar.gz", "has_sig": false, "md5_digest": "afc4b1e034189b6e97abe57e7525b2a8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10416, "upload_time": "2018-01-26T21:45:05", "url": "https://files.pythonhosted.org/packages/7f/a8/23577139883bbc25649dcdf02b8c22c367bc309c69a4739f82750a53e615/rhumbix_csv_uploader-0.0.4.tar.gz" } ] }