SWITRS-to-SQLite
================
**Looking to get right to work with the data? Checkout the cleaned
dataset on Kaggle:**\ `California Traffic Collision Data from
SWITRS <https://www.kaggle.com/alexgude/california-traffic-collision-data-from-switrs>`__
SWITRS-to-SQLite is a Python3 script that will convert the CSV files
provided by the California Highway Patrol’s `Statewide Integrated
Traffic Records System
(SWITRS) <http://iswitrs.chp.ca.gov/Reports/jsp/userLogin.jsp>`__ and
convert them to an `SQLite3 <https://www.sqlite.org/>`__ database.
Instructions to **download the SWITRS data** can be found
`here <requesting_data.md>`__.
Versioning
----------
This repository follows `Semver <https://semver.org/>`__. I will
increment the **MAJOR** version if a change is backwards incompatible
for either the Python command line or the structure of the output
database.
Installation
------------
The best way to install SWITRS-to-SQLite is with ``pip``:
.. code:: bash
pip install switrs-to-sqlite
This will give you access to the script simply by calling:
.. code:: bash
switrs_to_sqlite --help
You can also clone this repository:
.. code:: bash
git clone https://github.com/agude/SWITRS-to-SQLite.git
cd SWITRS-to-SQLite
./switrs_to_sqlite/switrs_to_sqlite --help
If you clone the repository, SWITRS-to-SQLite can be installed as a
local application using the ``setup.py`` script:
.. code:: bash
git clone https://github.com/agude/SWITRS-to-SQLite.git
cd SWITRS-to-SQLite
./setup.py install
Which, like using ``pip``, will give you access to the script by calling
``switrs_to_sqlite``.
SWITRS-to-SQLite requires only Python3.
Usage
-----
Using SWITRS-to-SQLite is simple, just point it to the unzipped files
from SWITRS and it will run the conversion:
.. code:: bash
switrs_to_sqlite \
CollisionRecords.txt \
PartyRecords.txt \
VictimRecords.txt
The script also supports reading ``gzip``\ ed records files:
.. code:: bash
switrs_to_sqlite \
CollisionRecords.txt.gz \
PartyRecords.txt.gz \
VictimRecords.txt.gz
The conversion process will take about an hour to write the database,
which by default is saved to a file named ``switrs.sqlite3``. The output
file can be changed as follows:
.. code:: bash
switrs_to_sqlite \
CollisionRecords.txt \
PartyRecords.txt \
VictimRecords.txt \
-o new_db_file.sql
The program provides the following help menu when called with
``--help``:
.. code:: bash
usage: switrs_to_sqlite [-h] [-o OUTPUT_FILE]
collision_record party_record victim_record
Convert SWITRS text files to a SQLite database
positional arguments:
collision_record the CollisionRecords.txt file or the same file gzipped
party_record the PartyRecords.txt file or the same file gzipped
victim_record the VictimRecords.txt file or the same file gzipped
optional arguments:
-h, --help show this help message and exit
-o OUTPUT_FILE, --output-file OUTPUT_FILE
file to save the database to
Unit Tests
----------
SWITRS-to-SQLite uses ``pytest`` to run unit tests (contained in the
``tests`` folders). To run the tests, run this command from the base
directory:
.. code:: bash
python3 -m pytest -v
Raw data
{
"_id": null,
"home_page": "https://github.com/agude/SWITRS-to-SQLite",
"name": "switrs-to-sqlite",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.8, <4",
"maintainer_email": "",
"keywords": "switrs,sqlite,data",
"author": "Alexander Gude",
"author_email": "alex.public.account@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/b7/65/9cd68f16e58dde7f2c9e06ae620918f5534e4eedb592f49521596f4203e3/switrs-to-sqlite-4.1.2.tar.gz",
"platform": "any",
"description": "SWITRS-to-SQLite\n================\n\n**Looking to get right to work with the data? Checkout the cleaned\ndataset on Kaggle:**\\ `California Traffic Collision Data from\nSWITRS <https://www.kaggle.com/alexgude/california-traffic-collision-data-from-switrs>`__\n\nSWITRS-to-SQLite is a Python3 script that will convert the CSV files\nprovided by the California Highway Patrol\u2019s `Statewide Integrated\nTraffic Records System\n(SWITRS) <http://iswitrs.chp.ca.gov/Reports/jsp/userLogin.jsp>`__ and\nconvert them to an `SQLite3 <https://www.sqlite.org/>`__ database.\n\nInstructions to **download the SWITRS data** can be found\n`here <requesting_data.md>`__.\n\nVersioning\n----------\n\nThis repository follows `Semver <https://semver.org/>`__. I will\nincrement the **MAJOR** version if a change is backwards incompatible\nfor either the Python command line or the structure of the output\ndatabase.\n\nInstallation\n------------\n\nThe best way to install SWITRS-to-SQLite is with ``pip``:\n\n.. code:: bash\n\n pip install switrs-to-sqlite\n\nThis will give you access to the script simply by calling:\n\n.. code:: bash\n\n switrs_to_sqlite --help\n\nYou can also clone this repository:\n\n.. code:: bash\n\n git clone https://github.com/agude/SWITRS-to-SQLite.git\n cd SWITRS-to-SQLite\n ./switrs_to_sqlite/switrs_to_sqlite --help\n\nIf you clone the repository, SWITRS-to-SQLite can be installed as a\nlocal application using the ``setup.py`` script:\n\n.. code:: bash\n\n git clone https://github.com/agude/SWITRS-to-SQLite.git\n cd SWITRS-to-SQLite\n ./setup.py install\n\nWhich, like using ``pip``, will give you access to the script by calling\n``switrs_to_sqlite``.\n\nSWITRS-to-SQLite requires only Python3.\n\nUsage\n-----\n\nUsing SWITRS-to-SQLite is simple, just point it to the unzipped files\nfrom SWITRS and it will run the conversion:\n\n.. code:: bash\n\n switrs_to_sqlite \\\n CollisionRecords.txt \\\n PartyRecords.txt \\\n VictimRecords.txt\n\nThe script also supports reading ``gzip``\\ ed records files:\n\n.. code:: bash\n\n switrs_to_sqlite \\\n CollisionRecords.txt.gz \\\n PartyRecords.txt.gz \\\n VictimRecords.txt.gz\n\nThe conversion process will take about an hour to write the database,\nwhich by default is saved to a file named ``switrs.sqlite3``. The output\nfile can be changed as follows:\n\n.. code:: bash\n\n switrs_to_sqlite \\\n CollisionRecords.txt \\\n PartyRecords.txt \\\n VictimRecords.txt \\\n -o new_db_file.sql\n\nThe program provides the following help menu when called with\n``--help``:\n\n.. code:: bash\n\n usage: switrs_to_sqlite [-h] [-o OUTPUT_FILE]\n collision_record party_record victim_record\n\n Convert SWITRS text files to a SQLite database\n\n positional arguments:\n collision_record the CollisionRecords.txt file or the same file gzipped\n party_record the PartyRecords.txt file or the same file gzipped\n victim_record the VictimRecords.txt file or the same file gzipped\n\n optional arguments:\n -h, --help show this help message and exit\n -o OUTPUT_FILE, --output-file OUTPUT_FILE\n file to save the database to\n\nUnit Tests\n----------\n\nSWITRS-to-SQLite uses ``pytest`` to run unit tests (contained in the\n``tests`` folders). To run the tests, run this command from the base\ndirectory:\n\n.. code:: bash\n\n python3 -m pytest -v\n",
"bugtrack_url": null,
"license": "GPLv3+",
"summary": "Script for converting SWITRS reports to SQLite.",
"version": "4.1.2",
"project_urls": {
"Homepage": "https://github.com/agude/SWITRS-to-SQLite"
},
"split_keywords": [
"switrs",
"sqlite",
"data"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "5800f6627da62b40b35d04f6be2704ba606b8089b79e5948d051aed9d64cedfd",
"md5": "ea4f48335225f41a829288823a90c1b3",
"sha256": "e468ee4c4ac9f7dd7e5bce234f34522dcf50a8c58d4314154474d8541439894e"
},
"downloads": -1,
"filename": "switrs_to_sqlite-4.1.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "ea4f48335225f41a829288823a90c1b3",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8, <4",
"size": 33840,
"upload_time": "2023-10-08T22:12:06",
"upload_time_iso_8601": "2023-10-08T22:12:06.845850Z",
"url": "https://files.pythonhosted.org/packages/58/00/f6627da62b40b35d04f6be2704ba606b8089b79e5948d051aed9d64cedfd/switrs_to_sqlite-4.1.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "b7659cd68f16e58dde7f2c9e06ae620918f5534e4eedb592f49521596f4203e3",
"md5": "549af995a3df943e7b51048d21b564ff",
"sha256": "751cd7d3dee41cab7debb43be985ba3a98090b0571ce3c7cae4ce20cde4df40d"
},
"downloads": -1,
"filename": "switrs-to-sqlite-4.1.2.tar.gz",
"has_sig": false,
"md5_digest": "549af995a3df943e7b51048d21b564ff",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8, <4",
"size": 41445,
"upload_time": "2023-10-08T22:12:08",
"upload_time_iso_8601": "2023-10-08T22:12:08.623476Z",
"url": "https://files.pythonhosted.org/packages/b7/65/9cd68f16e58dde7f2c9e06ae620918f5534e4eedb592f49521596f4203e3/switrs-to-sqlite-4.1.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-10-08 22:12:08",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "agude",
"github_project": "SWITRS-to-SQLite",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "switrs-to-sqlite"
}