Skip to content

Commit

Permalink
Remove draft release notes
Browse files Browse the repository at this point in the history
  • Loading branch information
volcan01010 committed May 16, 2024
1 parent 21b6739 commit f2cdb38
Showing 1 changed file with 4 additions and 34 deletions.
38 changes: 4 additions & 34 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,10 @@

> etlhelper is a Python ETL library to simplify data transfer into and out of databases.
`etlhelper` makes it easy to run a SQL queries via Python and return the results.
It is built upon the [DBAPI2
specification](https://www.python.org/dev/peps/pep-0249/) and takes care of cursor management, importing drivers and formatting connection strings, while providing memory-efficient functions to read, write and transform data.
ETL Helper makes it easy to run SQL queries via Python and return the
results.
It takes care of cursor management, importing drivers and formatting connection strings,
while providing memory-efficient functions to read, write and transform data.
This reduces the amount of boilerplate code required to manipulate data within relational
databases with Python.

Expand All @@ -26,33 +27,6 @@ To use this now, install directly from GitHub:
pip install git+https://github.com/BritishGeologicalSurvey/etlhelper.git@main
```


### Draft release notes for v1

ETL Helper version 1.0 contains many breaking changes and new ways of working.

#### Breaking changes

+ The `cxOracle` driver has been replaced with the [python-oracledb](https://oracle.github.io/python-oracledb/) driver. `python-oracledb` does not depend on Oracle Instant Client and all related code e.g., `setup_oracle_client`, has been removed as it is no longer required. This is a great sign of progress, as one of the initial purposes of ETL Helper was to give an easy way to jump through the hoops of installing Oracle Instant Client in CI pipelines. The `read_lob` flag has been deprecated as part of this change. See the Oracle driver documentation for details.
+ The default row factory has been changed from `namedtuple_row_factory`, to `dict_row_factory`. This is because dictionaries are mutable and so easier to use in transform functions. They are also more widely understood. To recreate the current behaviour in existing scripts, set `row_factory=namedtuple_row_factory`.
+ `get_rows` is deprecated; use `fetchall` instead. This does the same thing, but is better aligned with the DB API 2.0.
+ `fetchmany` is deprecated; use `iter_chunks` instead. The behaviour of ETL Helper's `fetchmany` was different to `cursor.fetchmany` as defined by the DB API 2.0 and this was confusing. It is also possible to use `chunks = etl.iter_chunks(...); do_something(next(chunk))`.
+ `dump_rows` is deprecated; use `for row in iter_rows(...); my_func(row)` instead.
+ The ETL Helper logger is no longer given a handler by default. This is the correct behaviour for a library. Activate logging with `etl.log_to_console()`.
+ The minimum supported Python version is 3.9. This allows us to benefit from security and typing improvements.

#### Non-breaking changes

+ There is a new Sphinx-based documentation webpage at https://britishgeologicalsurvey.github.io/etlhelper.
+ There is a new preferred syntax, using `import etlhelper as etl` to provide easy access to the public functions.
+ `executemany` and `load` functions can now take a transform function.
+ Type hints have been added to the ETL functions
+ The build system uses `pyproject.toml` instead of `setup.py` and `versioneer`.
+ The CI pipeline has moved from Travis to GitHub actions
+ The CI pipeline runs the PostgreSQL integration tests (which cover the bulk of the application logic)



## Installation

ETL Helper is available on PyPI (version 0.14.3).
Expand All @@ -71,10 +45,6 @@ pip install etlhelper[oracle,postgres]
See the individual database driver configuration pages for any OS-level dependencies.


TODO: Add simple example script.



## Development

ETL Helper was created by and is maintained by British Geological Survey Informatics.
Expand Down

0 comments on commit f2cdb38

Please sign in to comment.