Metadata-Version: 2.4
Name: copy-n-launch-xlsx
Version: 0.2.15
Summary: Stable spreadsheet copy, renaming, and dating, for municipal wastewater operator daily data entry.
Author-email: George Clayton Bennett <george.bennett@memphistn.gov>
Maintainer-email: George Clayton Bennett <george.bennett@memphistn.gov>
Project-URL: Homepage, https://github.com/city-of-memphis-wastewater/copy-n-launch-xlsx
Project-URL: Repository, https://github.com/city-of-memphis-wastewater/copy-n-launch-xlsx
Project-URL: Issues, https://github.com/city-of-memphis-wastewater/copy-n-launch-xlsx/issues
Project-URL: Changelog, https://raw.githubusercontent.com/city-of-memphis-wastewater/copy-n-launch-xlsx/main/docs/CHANGELOG.md
Keywords: data entry,xlsx
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Operating System :: OS Independent
Classifier: Development Status :: 5 - Production/Stable
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: pyhabitat>=1.3.2
Requires-Dist: rich>=14.2.0
Requires-Dist: typer>=0.20.0
Requires-Dist: click>=8.1.8
Requires-Dist: openpyxl>=3.1.5
Requires-Dist: dworshak-config>=0.2.8
Requires-Dist: typer-helptree>=0.2.10.5
Dynamic: license-file

# copy-n-launch-xlsx

<p align="center">
  <img src="https://raw.githubusercontent.com/City-of-Memphis-Wastewater/copy-n-launch-xlsx/main/assets/copy-n-launch-xlsx_gui_v0.2.10.png" width="100%" alt="Screenshot of the GUI">
</p>

The best way to launch this application is to install the CLI using `pipx`, or to download a release binary.

```
pipx install copy-n-launch-xlsx
cnlx gui
```

**Download binaries here:** [Releases](https://github.com/City-of-Memphis-Wastewater/copy-n-launch-xlsx/releases/)

[![Socket Badge](https://badge.socket.dev/pypi/package/copy-n-launch-xlsx)](https://socket.dev/pypi/package/copy-n-launch-xlsx)

---

## Purpose

This program: 

- Copies a blank spreadsheet file.

- Renames it, with the date in the filename.

- Moves the new renamed file to a target folder

In this way, the stable file can be updated in a centralized way. 
Users can safely launch new daily data entry sheets, without needing to choose a file to launch directly.

---

## Blurb

Spreadsheet templating isn't a new problem.

It's been solved many different ways over the years.

This is just one more solution—built around a very simple workflow that's now used every day by operators at my wastewater treatment plant.

Bring your own spreadsheet.

Click one button.

Get today's dated copy, ready for data entry.

The code is open source (thank you, Memphis taxpayers), and it's been tested on macOS, Windows 11, WSL, and Termux on Android.

---

## XLSX Best Practices

Sheets should use Name Manager variable names and possibly tables, for reference and data aggregation.
Variable names allow the cell locations to be adjusted and not referenced.

---

## How To

- Place a spreadsheet named daily_blank.xlsx in the filepath: ~/.copy-n-launch-xlsx/blank/

Blank template:

~/.copy-n-launch-xlsx/blank/daily_blank.xlsx

- Hit the single green button.

Automatically generated files:

~/.copy-n-launch-xlsx/filled/daily-YYYY-MM-DD.xlsx

---

## Helptree

See the `copy-n-launch-xlsx` Typer CLI structure.

```
cnlx helptree
```

<p align="center">
  <img src="https://raw.githubusercontent.com/City-of-Memphis-Wastewater/copy-n-launch-xlsx/main/assets/copy-n-launch-xlsx_v0.2.10_helptree.svg" width="100%" alt="Screenshot of the CLI helptree">
</p>
`helptree` is a utility function for Typer CLIs, imported from the `typer-helptree` library.

- GitHub: https://github.com/City-of-Memphis-Wastewater/typer-helptree
- PyPI: https://pypi.org/project/typer-helptree/

---

## Operator Data Entry Instructions Specific to Maxson Wastewater Treatment Facility

Generally this workflow applies to any context, with the exception of: 

- Color meanings
- "Print" page
- The XLIMS reference

Or any other information relating to a specific spreadsheet design.

The specific spreadsheet in question is maintained separately in the Maxson SharePoint. 

<p align="center">
  <img src="https://raw.githubusercontent.com/City-of-Memphis-Wastewater/copy-n-launch-xlsx/main/assets/copy-n-launch-xlsx_workflow-instructions_v0.2.12.png" width="100%" alt="Instruction PNG">
</p>

```instructions
Instructions:
At midnight, ensure that the file is saved, and then print the "Print" page.
Only the "Print" page is necessary, for data entry into XLIMS.
One printed and saved, close the file.
Do NOT delete any data from the file.

A brand new, dated spreadsheet will be used for the next day.
At the start of each day, after midnight, hit the green button in the Copy-N-Launch-XLSX interface.
This will generate the fresh daily sheet, automatically dated and empty, ready for data entry.
At any time, you can save and close the current spreadsheet.
Hitting the green Launch Daily Spreadsheet button will reopen it, or generate a new one as necessary.
```

---

## Source code

**Source code:** [Repository](https://github.com/City-of-Memphis-Wastewater/copy-n-launch-xlsx/)
