switrs-to-sqlite


Nameswitrs-to-sqlite JSON
Version 4.1.2 PyPI version JSON
download
home_pagehttps://github.com/agude/SWITRS-to-SQLite
SummaryScript for converting SWITRS reports to SQLite.
upload_time2023-10-08 22:12:08
maintainer
docs_urlNone
authorAlexander Gude
requires_python>=3.8, <4
licenseGPLv3+
keywords switrs sqlite data
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            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"
}
        
Elapsed time: 0.12030s