Releases: MaineDSA/membership_dashboard
v1.0.1
What's Changed
-
Bump python-dotenv from 1.0.0 to 1.0.1 by @dependabot in #40
-
Bump the pip group across 1 directories with 1 update by @dependabot in #42
-
Bump tqdm from 4.66.1 to 4.66.2 by @dependabot in #45
-
Bump pytest from 7.4.4 to 8.0.1 by @dependabot in #41 and #50
-
Bump plotly from 5.18.0 to 5.19.0 by @dependabot in #48
-
Bump ruff from 0.1.14 to 0.2.2 by @dependabot in #43, #44, and #47
-
Bump pre-commit from 3.6.0 to 3.6.2 by @dependabot in #46 and #49
Full Changelog: v1.0.0...v1.0.1
......@@@@........@@@........@@@........@@@@.......+@@@........@@@........@@@=.......@@@@........@@@
.....@...@......*....@......*...@......@....@.....@....@.....@.....@....*.....@.....=.....%....@....
.@@@........@@@.........@@#........@@@........@@@........-@@.........@@@........@@@........#@@......
@@@........@@@@........@@@........@@@........@@@=.......@@@@........@@@........@@@........@@@@......
...@......@...=:.....@....%......@...@......@...@.......@..@........#..@.......@..@[email protected]:.....
......@@@........@@@........@@@.........@@#........@@@........@@@@.......#@@+........@@@@.......@@@.
......=@@@........@@@........@@@........@@@@.......:@@@........@@@........@@@:.......*@@@........@@@
.....@....@.....@....@.....@.....@....@.....@....:=.....@....@.....@....@......@...@......@....@....
.@@@........@@@........:@@@........@@@........@@@........@@@-........@@@........@@@........@@@......
@@@........@@@=........@@@........@@@........@@@........*@@%........@@@........@@@........@@@.......
...+:....:+....%.....@....@.....:+...@......@...@......:+..=-......@...#.......#..=-......@...@.....
......@@@........@@@........@@@:.......:@@@........@@@........@@@........@@@@........@@@........@@@.
.......@@@........@@@........@@@........=@@*........@@@........@@@........%@@........:@@@........@@@
....-=....@[email protected]=....@.....@[email protected]=...%[email protected]+.....#....@......@...@......@...*:....
.@@@........@@@........%@@@........@@@........@@@........@@@*.......*@@@........@@@........@@@......
@@@........#@@.........@@#........@@@........@@@........:@@:........@@%........@@@........=@@.......
....%....%.....@.....@....@.....%....@......@...+-.....#....%.....*:...@......@...:*.....@....@.....
......@@@........@@@........@@@%.......=@@@........@@@........@@@:.......@@@@........@@@........@@@.
.......@@@........@@@........*@@.........@@:........@@@........@@@........:@@.........@@#........@@@
....=-....@.....%....:+....@.....@....@.....:*...@......@...=-.....=-...@......@...@......@...@.....
.@@@........@@@:.......@@@@.......-@@@........@@@........@@@%.......@@@@........@@@........@@@......
@@@........:@@.........@@.........@@@........@@@.........@@.........@@=........@@@........:@@.......
....@[email protected]....@.....@....@.....@.....@....@.....@....@.....@....#......*....@.....@....@.....
......@@@........@@@-.......@@@@.......*@@@........@@@........@@@#.......@@@@........@@@........@@@:
.......@@=........@@@.........@@.........@@.........@@@........@@@........=@@.........@@-........@@@
....%.....@.....=.....@....@.....@....@......@...@......@...%[email protected]:......@...%......=:..@.....
:@@@........@@@:.......@@@@.......%@@@........@@@........@@@@.......@@@@.......+@@@........@@@:.....
%@%........:@@.........@@.........@@-........-@@.........@@.........@@.........*@-.........@#.......
....#....#......+...@......@....#.....@....@.....@.....%....#.....@.....%....%.....@.....%....@.....
......@@@........@@@%.......@@@@.......%@@@........@@@:.......@@@@.......@@@@........@@@........@@@*
.......@@.........#@%.........@@.........@@.........@@-........@@@........*@@........:@@-........@@#
....@[email protected]......@....@.....@....@......@...@......@...@.......@..=.......@...#......::..@.....
*@@@........@@@-.......@@@@.......@@@@.......:@@@........@@@@.......@@@@.......#@@@........@@@:.....
:@:.........@*.........@@.........*@..........@+.........@@.........@@.........+@:.........@+.......
....@....@.....@.....*....@[email protected].....*....@.....@....@.....@.....@....@.....@.....*....@.....
......@@@........@@@@.......@@@@.......%@@@........@@@+.......@@@@.......@@@@........@@@........@@@@
.......@@.........@@:........=##.........@@.........@@-........@%@........@*#-.......+-@%........@@:
....@.....%....%......@...:+.....%....@......@...@......%...@.......@..%.......#..:-.......+..@.....
@@@@........@@@-.......@@@@.......@@@@.......+@@@........@@@@.......@@@@.......@@@@........@@@:.....
.@..........@:.........@@.........:@..........@..........@@.........=@..........@..........@=.......
....@....@.....@....*.....--....@.....@....+.....@.....@....@.....@.....@....@.....@....+:....*:....
......@@@-.......@@@@.......@@@@.......%@@@........@@@@.......@@@@.......@@@@........@@@........@@@@
.......@#.........@@.........#-+.........*@.........@=+........@-@........@:-+.......%.-@........#-.
....@.....=-...@......@...+:.....=-...%......@...@......=-..@.......@..@.......=-.*:.......@..@.....
@@@@........@@@:.......@@@@.......@@@@.......@@@@........@@@@.......@@@@.......@@@@.......:@@@......
.:..........:......................:..........:..........:......................:..........:........
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
....................................................................................................
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
...@.....@:....@%....@@....@@....@@....@@....=@.....@.....@:....@%....@@....@@....@@....@@....=@....
...@@....@@....@@*...@@@...*@@....@@....@@....@@....@@....@@....@@*...@@@...*@@....@@....@@....@@...
....@@....@@....@@....@@....+@....:@.....@:....@*....@@....@@....@@....@@....+@....:@.....@:....@*..
....@-....@@....@@....@@....@@....@@....%@....:@.....@-....@@....@@....@@....@@....@@....%@....:@...
...@@....@@....@@:...@@@...@@@...:@@....@@....@@....@@....@@....@@:...@@@...@@@...:@@....@@....@@...
..@@....=@.....@.....@:....@+....@@....@@....@@....@@....=@.....@.....@:....@+....@@....@@....@@....
...@@....@@....@@....@@....@@....@@....:@:....@@....@@....@@....@@....@@....@@....@@....:@:....@@...
...@@....@@-...@@@...#@@....@@....@@....@@....@@....@@....@@-...@@@...#@@....@@....@@....@@....@@...
....-@.....@.....@.....@-....@#....@@....@@....*@....-@.....@.....@.....@-....@#....@@....@@....*@..
...@@:...=@*....@@....@@....@@....@@....@@....@@....@@:...+@*....@@....@@....@@....@@....@@....@@...
...@@....@@....@@....@@....@@@...+@@....@@....@@....@@....@@....@@....@@....@@@...+@@....@@....@@...
.*@.....@.....@:....@:....@-....@@....@@....@@....*@.....@.....@:....@:....@-....@@....@@....@@.....
...@@....@@....@@....@@....@@:...*@@....@@....@@....@@....@@....@@....@@....@@:...#@@....@@....@@...
...@@....@@+...-@@....@@....@@....@@....@@....@@....@@....@@+...-@@....@@....@@....@@....@@....@@...
.....@#....@*....+%.....@....:@.....@.....@=....@*....@#....@*....+%.....@....:@.....@.....@=....@*.
...@@....@@=...@@@...:@@....@@....@@....@@....@@....@@....@@=...@@@...:@@....@@....@@....@@....@@...
...@@....@@....@@....@@....@@....%@:...:@@....@@....@@....@@....@@....@@....@@....%@:...:@@....@@...
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
v1.0.0
This is it! Version 1 🎂
What's Changed
- Membership list name and Mapbox API key are now stored in the file
.env
. See the README for more information. - Timeline and map pages have a basic filter to allow restricting data based on membership_type. Better/more configurable filtering to come.
- Page titles (in browser tabs) are more descriptive and all pages use chapter logo as favicon.
- Retention page no longer throws an error if no date is selected.
- Page elements moved around to allow for slightly larger graphs.
- Removed old retention rate percentage on the counts page as the Retention page is much better.
- [DEV] Use multi-page dash application support instead of custom-built content switcher.
- [DEV] Heavily restructured the code to make it easier to find and work on various pieces of it.
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡖⠙⡢⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣿⡏⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣼⣿⡿⣿⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣤⠶⠞⠛⠿⣿⣿⡿⣿⣇⡀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡾⠋⢠⠄⠀⠀⠀⠀⠈⠉⡉⠈⠛⢦⡀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⣤⠀⠀⠀⠀⠀⠻⢦⣴⣀⣀⠀⠀⠀⠀⢈⠁⣀⡄⠀⠹⣆⠀⠀⠀
⠀⠀⠀⠀⢰⠓⡄⠀⠀⠀⠀⠀⢸⡇⠉⠉⠙⠛⠛⠛⠛⠛⠉⠀⠀⠀⠹⣆⠀⠀
⢠⣒⣊⢍⣩⢙⣩⣍⡩⡇⠀⠀⢸⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢻⡀⠀
⣸⣀⣈⣁⣀⣉⣀⣀⣠⣇⠀⠀⢸⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⡆⠘⣇⠀
⠉⠉⠉⠛⠿⠻⣯⠉⠉⠉⠀⢀⣾⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⡇⠀⢿⠀
⠀⠀⠀⠀⠀⠀⠈⢳⣄⠀⢠⡞⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⡇⠀⢸⡇
⠀⠀⠀⠀⠀⠀⠀⠀⠉⠛⠋⠀⢸⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⠁⠀⠘⣇
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣿⠀⠀⠀⣿
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⠄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⠟⠁⠀⠀⢻
Full Changelog: v0.9.6...v1.0.0
v0.9.6
Note: Users of earlier versions must delete the pkl file located in their membership lists folder. On first-load it will re-scan the lists -- this means geocoding the lat/lon coordinates again if you have a mapbox api key loaded.
What's Changed
- Membership retention graphs as modeled by @bunsenmcdubbs added as a new sidebar list item.
- Data structures are now using pandera to configure a consistent set of columns (although some will be empty in older lists).
- Old
family name
first/last columns will now have their data preserved and upgraded into a singlefamily_members
column. - Improved progress indicators with titles.
actionkit_id
should now be visible in table view when not comparing lists (previously just when comparing).- Membership length math is now correct (previously it was using
join_date
tolist_date
-- now it'sjoin_date
to the earlier ofxdate
orlist_date
). - City names will now be standardized to title case so there are fewer duplicates due to differences during data entry
- Can now select multiple columns of data to include in map view as was already possible in timeline view
- Chapter logo is now stored at assets/logo.svg, rather than loading externally. Simply replace it to rebrand the app.
⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⡤⣴⣶⣾⣟⣷⠶⣶⡶⣤⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⣀⠴⢚⣩⣈⣰⣏⣁⣀⣈⣹⣟⠷⣯⡾⣿⡽⣦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⣤⣾⣷⣾⠿⢻⣽⠋⠙⠉⠉⠉⠉⠛⠓⢾⣽⣮⡿⣿⢙⣆⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⢠⣾⡻⠟⠁⠀⠀⠀⠁⠚⠉⠀⣀⣀⣤⣴⣦⣤⣬⣷⣽⣿⣟⣻⣆⠀⠀⠀⠀⠀⠀⠀⠀
⠀⢰⠋⠁⠀⠀⠀⡴⠂⣠⣴⣿⣿⠟⠛⠉⠁⠀⠈⣡⡾⢿⡿⣿⣿⣾⣿⡄⠀⠀⠀⠀⠀⠀⠀
⢀⣟⡄⣶⣾⣿⣴⣦⣼⠟⠛⠋⠁⠀⠀⢀⣠⣶⣿⣿⣶⣿⢡⣿⢻⢻⡝⡇⠀⠀⠀⠀⠀⠀⠀
⢸⣿⡿⠛⠻⠉⠙⠁⠀⠀⢠⣀⣨⣴⣾⣿⣫⠴⣿⣿⣿⠧⣾⡇⣸⡁⣿⠇⠀⠀⠀⠀⠀⠀⠀
⠘⣏⠀⠀⠐⢣⡀⢂⣄⣴⣿⣿⡿⣧⣞⣹⣿⣿⣿⣯⣿⣼⣿⣤⣿⠤⣿⣀⣠⣤⣤⣤⢤⣤⡄
⠀⢹⣶⣶⡾⣶⡟⡿⠛⠛⢻⠛⠙⢯⡯⠉⠉⠅⠛⡀⣀⢲⣄⢠⢠⣀⣱⣶⣮⣷⣷⠿⢿⡇⡇
⠀⠀⠹⣄⡑⣼⡇⢷⠀⢰⡿⢴⣟⣶⣿⣷⣦⣯⢦⣿⣼⣯⢿⣯⣻⣿⣿⠽⣋⡶⠇⣠⡿⡽⠁
⠀⠀⠀⠈⠻⣿⣷⡌⢷⣄⠀⠄⠛⠻⠃⠛⠹⠻⡼⡾⢓⡍⠫⠋⣞⢯⣁⡀⠀⣠⡼⢫⠜⠁⠀
⠀⠀⠀⠀⠀⠀⠹⠿⠦⣉⠳⢦⣔⣤⡀⠠⠻⡄⠀⢩⢮⠕⢦⡀⢠⢎⣻⡶⢞⡩⠞⠁⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠒⠬⣍⣛⡓⠛⠾⠓⠒⠛⢞⣛⣛⣺⠭⠔⠊⠁⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠉⠉⠉⠉⠉⠉⠉⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
Full Changelog: v0.9.5...v0.9.6
v0.9.5
Note: Users of earlier versions must delete the pkl file located in their membership lists folder. On first-load it will re-scan the lists -- this means geocoding the lat/lon coordinates again.
What's Changed
- Comparing lists now looks at more columns.
- Comparing lists will now show the old and new values with color coding so users can more easily understand what has changed.
- Changed default comparison color to be more visible to color-blind users.
- File for
.mapbox_token
is now optional. Without this, mapping and geocoding features will be disabled. - File for
.list_name
is now optional. Without this,fake_membership_list
will be assumed. - Pytest tests added to ensure future code changes do not compromise existing features.
- Graphs are more clearly labeled.
- Deltas on metrics tab are now rounded to whole numbers.
- Further improve the speed of scanning many lists by using a better caching system.
- Improved handling of zip codes when finding branch assignment (ignores +4).
- Highlight changed accommodation needs when comparing multiple lists.
- Now works with chapters that have multi-word names thanks to @schlich
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ 🔻 ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣶⣶⡄
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡄⠀⠀⠀⢠⣤⢤⣄⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⠴⠊⢹⣬⡿⠋
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⡇⠀⠀⠀⣾⣿⣾⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣤⠖⠋⣁⡤⠞⠉⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠀⠀⡇⠀⠀⠀⣿⡇⠀⣟⠉⠀⠀⠀⠀⠀⠀⠀⣠⠴⠋⠁⣹⡷⠊⠁⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣀⡐⣿⣗⡏⠉⡍⣷⢴⢯⣭⣥⣽⣶⣶⣶⣄⢀⣠⠔⠋⢉⡦⠔⠋⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⣾⠿⣿⣿⣏⣈⣙⣶⣧⡭⠌⠑⠄⠠⡀⣰⢯⡤⠚⠉⣠⣷⣾⣅⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⣏⢣⠋⢠⠊⢠⠋⢠⡞⠲⡄⠀⢑⠖⢻⡠⠋⣸⣶⡿⢁⢞⡶⢿⣮⡷⠖⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⣀⣀⣠⡤⢦⣬⣿⣷⣤⣷⣤⣷⣄⣗⠠⣼⣶⣎⣉⣉⣵⣾⣭⡽⠷⠿⠿⢿⠿⣯⣤⣤⣀⣀⣀⠀⠀⠀⠀⠀⠀⠀
⢸⣿⢹⣿⣟⣿⡏⠛⠛⠛⢻⠛⡟⠛⡬⢍⡉⠛⠛⠢⠭⢍⣙⡒⢦⠗⠒⠒⠒⠒⠂⠈⠓⢄⠉⣢⣉⠒⠪⠭⣙⣲⣦⣤⣄⡀
⠘⣏⣸⡟⠀⣿⠗⠾⠠⠤⣐⣀⣠⡀⣇⠀⢡⡰⠺⠛⠛⠛⠋⠉⢿⠿⠷⠀⠀⠀⠀⠀⠀⠀⠙⠛⠛⠳⣀⠔⠉⠉⠉⣁⣈⣇
⠀⠉⠉⣇⢀⡿⡄⠀⠀⠀⠀⠀⠁⠀⠇⠀⢸⡇⣠⣴⣶⣶⣶⣶⠢⠷⠤⠴⢶⣶⡶⠶⠶⠶⠶⠶⠞⢻⣿⢦⣶⡾⣿⣿⣿⠃
⠀⠀⠀⢻⣿⣿⣇⣀⡈⠁⢹⡁⠀⠒⠲⠀⣸⣾⣿⣿⣿⣿⣭⣽⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡴⣽⢿⣿⣿⢓⣿⣿⡏⠀
⠀⠀⠀⠀⢻⣿⣿⣿⣹⣿⢻⣷⠒⣦⠖⣿⣿⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣶⣿⣿⣟⣿⣹⣿⠹⡁⣾⣿⣿⣿⣿⠏⠀⠀
⠀⠀⠀⠀⠀⠛⠻⠿⢿⣿⣿⣿⣷⣿⣧⣿⣿⣠⣿⣿⣟⢃⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⣽⣏⣼⣿⠟⠁⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠛⠛⠿⠿⢿⣿⠿⠿⠷⠾⠿⠟⠛⠛⠛⠛⠋⠉⠉⠉⠁⠀⠀⠉⠉⠉⠉⠉⠀⠀⠀⠀⠀⠀
Full Changelog: v0.9.4...v0.9.5
v0.9.4
Note: Users of earlier versions must delete the pkl file located in their membership lists folder. On first-load it will re-scan the lists -- this means geocoding the lat/lon coordinates again.
What's Changed
- Bump pandas from 2.1.3 to 2.1.4 by @dependabot in #25
- Auto-tagging of branch based on zip code. See README.md.
- Logging improvements
- Code quality improvements
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣤⠄⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⢰⣿⣷⣦⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣾⣿⣿⣯⣴⣿⣷⣦⡀⠀⠀⠀⠀⠀
⠀⠘⠛⠛⠻⠿⣿⣿⡋⠉⠉⠉⠛⠛⢻⣿⣿⣿⣿⣿⣿⣿⣿⣛⣉⣀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠉⠻⣷⣄⠀⠀⠀⠀⠻⣿⡿⣿⣿⣿⣿⣿⣿⣿⣿⣷⠤⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⢹⡟⠳⣄⠀⠀⠀⠈⠃⠹⣿⣿⣿⠿⠛⠉⠁⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⣿⠀⠈⠳⣦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣿⠀⠀⠀⠈⠻⣦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⢀⣤⣶⣿⣿⣿⣧⡀⠀⠀⠀⠙⣷⣶⣶⣤⣄⡀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠛⣛⣿⣿⣿⣿⣿⣷⡀⠀⠀⢰⣿⣿⣿⣿⣿⣿⣷⠄⠀⠀⠀⠀⠀
⠀⠀⠀⠀⢰⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠘⣻⣿⣿⣿⣿⣶⣶⣦⣄⠀⠀⠀⠀
⠀⠀⠀⠀⠸⣿⠟⣿⣿⣿⣿⣷⡈⠃⠀⠀⢰⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠁⣼⣿⣿⡿⣿⣿⡟⠀⠀⠀⠘⣿⡏⣿⣿⣿⣿⣿⣽⣛⡂⠀⠀⠀
⠀⠀⠀⠀⠀⠀⢻⣿⣿⣧⠹⠋⠀⠀⠀⠀⠀⠈⠀⠿⣿⣿⠸⣿⣿⣿⡇⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⣿⡿⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⠿⣿⡇⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠁⠀⠀⠀
Full Changelog: v0.9.3...v0.9.4
v0.9.3
Note: Users of earlier versions must delete the pkl file located in their membership lists folder. On first-load it will re-scan the lists -- this means geocoding the lat/lon coordinates again.
What's Changed
- Styling improvements to better handle more screen sizes
- Addresses that aren't found in mapbox no longer cause an error
⠤⠤⠤⠤⠤⠤⢤⣄⣀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠙⠒⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠤⠤⠶⠶⠶⠦⠤⠤⠤⠤⠤⢤⣤⣀⣀⣀⣀⣀⣀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⢀⠄⢂⣠⣭⣭⣕⠄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠤⠀⠀⠀⠤⠀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠉⠉⠉⠉⠉⠉⠉⠉
⠀⠀⢀⠜⣳⣾⡿⠛⣿⣿⣿⣦⡠⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⣤⣤⣤⣤⣤⣤⣤⣤⣤⣍⣀⣦⠦⠄⣀⠀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠠⣄⣽⣿⠋⠀⡰⢿⣿⣿⣿⣿⣦⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣼⣿⡿⠛⠛⡿⠿⣿⣿⣿⣿⣿⣿⣷⣶⣿⣁⣂⣤⡄⠀⠀⠀⠀⠀⠀
⢳⣶⣼⣿⠃⠀⢀⠧⠤⢜⣿⣿⣿⣿⣷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣾⠟⠁⠀⠀⠀⡇⠀⣀⡈⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⡀⠁⠐⠀⣀⠀⠀
⠀⠙⠻⣿⠀⠀⠀⠀⠀⠀⢹⣿⣿⡝⢿⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢰⡿⠋⠀⠀⠀⠀⠠⠃⠁⠀⠀⠙⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣿⡿⠋⠀⠀
⠀⠀⠀⠙⡄⠀⠀⠀⠀⠀⢸⣿⣿⡃⢼⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⣿⣿⣿⣿⡏⠉⠉⠻⣿⡿⠋⠀⠀⠀⠀
⠀⠀⠀⠀⢰⠀⠀⠰⡒⠊⠻⠿⠋⠐⡼⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣿⣿⣿⣿⠀⠀⠀⠀⣿⠇⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠸⣇⡀⠀⠑⢄⠀⠀⠀⡠⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢖⠠⠤⠤⠔⠙⠻⠿⠋⠱⡑⢄⠀⢠⠟⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠈⠉⠒⠒⠻⠶⠛⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⡄⠀⠀⠀⠀⠀⠀⠀⠀⠡⢀⡵⠃⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⠦⣀⠀⠀⠀⠀⠀⢀⣤⡟⠉⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠉⠉⠉⠉⠙⠛⠓⠒⠲⠿⢍⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
Full Changelog: v0.9.2...v0.9.3
v0.9.2
Note: Users of earlier versions must delete the pkl file located in their membership lists folder. On first-load it will re-scan the lists -- this means geocoding the lat/lon coordinates again.
What's Changed
- Scanning multiple new lists takes much less time.
- More communicative console feedback
- Hovering on a member on the map will also show their original join date.
- Fixed oldest list being shown first (reverse sort of list)
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣔⣶⡭⠭⠿⢿⣭⣥⣖⣢⣤⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣶⠗⣿⡿⣿⡆⠀⣠⣤⡶⠚⠉⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣴⠟⠁⣼⣏⣀⣿⡇⠈⠩⠭⣭⣵⣒⡢⢄⡀⠀⢀⡀⠤⢤⢤⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⣀⣀⡼⠏⠀⢠⣿⡿⣿⡍⠁⠀⠀⠀⠀⠀⠉⠻⣷⠞⠋⠀⠀⠀⢰⠞⠠⠤⢤
⠀⠀⠀⠀⠀⠈⠻⣏⣿⡇⠀⠀⣿⠃⠀⠀⢣⠀⠀⠀⠀⣤⣤⠴⠋⠀⣀⠖⠀⢈⡤⠀⣀⠀⠄⠊
⠀⠀⠀⠀⠀⠀⠀⠀⢷⣾⣀⠀⣿⠀⠘⣷⡼⣖⢦⣶⣠⢿⠋⠀⡀⠚⠓⠚⠋⠤⢤⡈⠘⠑⢄⠀
⠀⠀⠖⡀⠰⠑⠀⡀⡄⠙⢻⣿⡏⠀⠀⠈⣨⣫⠜⠋⢣⠂⠀⢀⢀⢀⡀⢂⡴⠋⠘⡈⠐⠄⠀⠁
⠀⠀⠀⢡⡀⠀⡞⡰⢁⢐⠛⠛⢣⡤⠴⡶⢋⣠⣴⠾⠋⠀⡰⡯⢉⣼⢻⠀⠀⠀⠀⠈⠂⠄⠀⠀
⠀⠀⢀⠀⠣⢀⣁⣋⡔⠋⠀⣤⠋⠀⡰⠛⣿⢹⣱⠀⢀⠴⣏⠉⠉⣿⣾⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⡘⢀⠔⡧⢠⠖⠃⢀⣠⣇⣠⠔⣡⣾⣿⠀⢹⠃⠀⠀⠈⠑⡀⣿⢹⠀⠀⠀⠀⠀⠀⠀⠀⠀
⡔⠉⡀⠘⣖⢀⢸⣶⢟⣻⠵⡄⠠⣿⡋⣿⠏⢦⣾⡇⠀⠀⠀⠀⠘⡟⡜⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠃⠊⠀⠀⠈⠉⠹⣷⣜⣺⣭⢻⢠⡿⣷⣍⠀⠈⠟⠀⠀⠀⠀⠀⠀⠈⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⢈⣛⠛⠁⠈⡞⢞⣆⣛⠣⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⣠⠔⡲⠕⣤⣯⡴⢻⢮⣙⣾⠇⠓⢤⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⢰⣷⣴⣇⠀⠘⣶⣶⣟⠷⡏⠁⠀⢃⣲⣷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠈⠛⠛⠛⠒⠒⠒⠒⠒⠊⢹⢖⡂⠜⠻⢿⢧⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡜⠁⠀⠀⠀⢸⢠⢁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⠏⠁⠀⠠⢱⣾⢸⢸⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣾⡀⠀⠀⠀⣸⣿⣦⠜⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣶⣶⣿⠿⠣⡟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠫⣕⣒⣓⣒⡡⠞⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
Full Changelog: v0.9.1...v0.9.2
v0.9.1
What's Changed
- Map page now implemented to show how various membership metrics are distributed across the state.
- Mapbox API key now required. See README.md.
- Moved membership list name configuration to text file. See README.md.
- Membership lists, once loaded, will be saved into pickles so they can be re-loaded more quickly).
- Scanning of new membership lists is now much slower as lat/lon must be determined for each address.
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣄⣠⣀⡀⣀⣠⣤⣤⣤⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣄⢠⣠⣼⣿⣿⣿⣟⣿⣿⣿⣿⣿⣿⣿⣿⡿⠋⠀⠀⠀⢠⣤⣦⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠰⢦⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⣼⣿⣟⣾⣿⣽⣿⣿⣅⠈⠉⠻⣿⣿⣿⣿⣿⡿⠇⠀⠀⠀⠀⠀⠉⠀⠀⠀⠀⠀⢀⡶⠒⢉⡀⢠⣤⣶⣶⣿⣷⣆⣀⡀⠀⢲⣖⠒⠀⠀⠀⠀⠀⠀⠀
⢀⣤⣾⣶⣦⣤⣤⣶⣿⣿⣿⣿⣿⣿⣽⡿⠻⣷⣀⠀⢻⣿⣿⣿⡿⠟⠀⠀⠀⠀⠀⠀⣤⣶⣶⣤⣀⣀⣬⣷⣦⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣦⣤⣦⣼⣀⠀
⠈⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠛⠓⣿⣿⠟⠁⠘⣿⡟⠁⠀⠘⠛⠁⠀⠀⢠⣾⣿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠏⠙⠁
⠀⠸⠟⠋⠀⠈⠙⣿⣿⣿⣿⣿⣿⣷⣦⡄⣿⣿⣿⣆⠀⠀⠀⠀⠀⠀⠀⠀⣼⣆⢘⣿⣯⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡉⠉⢱⡿⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠘⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣟⡿⠦⠀⠀⠀⠀⠀⠀⠀⠙⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⡗⠀⠈⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⢻⣿⣿⣿⣿⣿⣿⣿⣿⠋⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⢿⣿⣉⣿⡿⢿⢷⣾⣾⣿⣞⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠋⣠⠟⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠹⣿⣿⣿⠿⠿⣿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣾⣿⣿⣷⣦⣶⣦⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⠈⠛⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠻⣿⣤⡖⠛⠶⠤⡀⠀⠀⠀⠀⠀⠀⠀⢰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠁⠙⣿⣿⠿⢻⣿⣿⡿⠋⢩⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠙⠧⣤⣦⣤⣄⡀⠀⠀⠀⠀⠀⠘⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠘⣧⠀⠈⣹⡻⠇⢀⣿⡆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣿⣿⣿⣿⣿⣤⣀⡀⠀⠀⠀⠀⠀⠀⠈⢽⣿⣿⣿⣿⣿⠋⠀⠀⠀⠀⠀⠀⠀⠀⠹⣷⣴⣿⣷⢲⣦⣤⡀⢀⡀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢿⣿⣿⣿⣿⣿⣿⠟⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣷⢀⡄⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠂⠛⣆⣤⡜⣟⠋⠙⠂⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢹⣿⣿⣿⣿⠟⠀⠀⠀⠀⠀⠀⠀⠀⠘⣿⣿⣿⣿⠉⣿⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣤⣾⣿⣿⣿⣿⣆⠀⠰⠄⠀⠉⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⣿⣿⡿⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢹⣿⡿⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢻⣿⠿⠿⣿⣿⣿⠇⠀⠀⢀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣿⡿⠛⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⢻⡇⠀⠀⢀⣼⠿⠇⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⠃⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⠁⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⠒⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
Full Changelog: v0.9.0...v0.9.1