Metadata-Version: 2.1
Name: bcp
Version: 0.3.0
Summary: This is a python utility that allows users to import/export data to/from a database.
Home-page: https://github.com/mikealfare/bcp
License: UNKNOWN
Keywords: BCP SQLServer MSSQL
Author: Mike Alfare
Author-email: alfare@gmail.com
Requires-Python: >=3.6
Description-Content-Type: text/markdown
Classifier: Programming Language :: Python :: 3.6
Classifier: License :: OSI Approved :: MIT License
Requires-Dist: sphinx; extra == "doc"
Requires-Dist: sphinx-autodoc-typehints; extra == "doc"
Requires-Dist: sphinx_rtd_theme; extra == "doc"
Requires-Dist: pytest; extra == "test"
Requires-Dist: pytest-cov; extra == "test"
Requires-Dist: pytest-freezegun; extra == "test"
Provides-Extra: doc
Provides-Extra: test

# BCP

< badges will go here >

**This is a python utility that allows users to import/export data to/from a database.**

---

# Overview

This library began as a wrapper around SQL Server's BCP utility. It makes some assumptions
about parameters to simplify the interface and allow the user to work natively in python.
Though it currently supports MSSQL, there are plans to extend support to other database dialects.

# Requirements

- Python 3.6+

This library purposely requires no python packages outside of the standard library, beyond testing and documentation
needs. The intention is to maintain this status. However, you will need to have the appropriate command line utilities
installed for the specific database dialects with which you'll interact. For example, if your database is a MS SQL
SERVER instance, you'll need BCP installed. Consult the table below for further documentation, including download files
and instructions.

| RDBMS         | Utility | Documentation / Installation                           |
|:--------------|:--------|:-------------------------------------------------------|
| MS SQL Server | BCP     | https://docs.microsoft.com/en-us/sql/tools/bcp-utility |

# Installation

This library is still in development. So you'll have to build it from
source in the meantime. I'll soon get around to publishing it on pypi, 
in which case you'll be able to install it using `pip`

    pip install bcp

# Examples

Import data:
```python
from bcp import BCP, Connection, DataFile

conn = Connection(host='HOST', driver='mssql', username='USER', password='PASSWORD')
my_bcp = BCP(conn)
file = DataFile(file_path='path/to/file.csv', delimiter=',')
my_bcp.load(file, 'table_name')
```

Export data:
```python
from bcp import BCP, Connection

conn = Connection(host='HOST', driver='mssql', username='USER', password='PASSWORD')
my_bcp = BCP(conn)
file = my_bcp.dump('select * from sys.tables')
print(file)  # %USERPROFILE%/bcp/data/<timestamp>.tsv
```

# Full Documentation

For the full documentation, please visit: https://bcp.readthedocs.io/en/latest/

