0.9.0 5 months ago

v0.9.0 🚀

Breaking changes:

- Massive refactoring across the entire library. lib.data has moved to
  lib.remote, lib.sql has been split between lib.connections, lib.local,
  and lib.util.sql, and lib.util split up into the latter sql as well as
  cleanup and data. The only remaining major refactor is to move
  lib.national into lib.local and set up as a National class.

- Harcoded data has been eliminated from the source code. config.yaml
  should now specify values for file servers and potential backups, a
  path for reference and template files, and SQL server & database
  strings. Additionally, all bin/* scripts that require a configuration
  file should save those files in REPORT_HOME/configs.

New features:

- Cleaning NA columns for Excel output as well as .pivot_table creation
  is now available through lib.util.cleanup.na().

- lib.util.data.subtotal() works for multiple aggregate functions as
  well as allows for pivot table margins.

- Both the GUI and lib.remote.run() implement the filename argument from
  lib.remote.File in order to override auto-generated filename (or the
  configurated one) and automatically versions filenames with the same
  name as opposed to the previous overwrite.

- Both the GUI and lib.remote.run() now implement the open_file argument
  from lib.remote.File in order to automatically open the output Excel
  file instead of running it in the background.

Bug fixes:

- SQLAlchemy use instead of pyodbc in order to consolidate into a
  library fully supported by pandas.

- lib.util.sql.operator() now casts a value passed to it to a string as
  there is no longer a dependence on pydantic.

- An AssertionError is no longer raised when trying to send an email
  with an empty Email struct.

- DataFrame.append calls have been changed to pd.concat as per the
  pandas depreciation warning.

- The makefile path to change into the correct directory before running
  install.bat has been corrected.


- README has been split and made general, while detailed usage
  information is available in the wiki