Comments (2)
I went looking for places these db packages are actually referenced/used...
pymysql
seems vestigial and doesnt appear to be used anywhere, and thus should probably be removed.
In all of our python ( https://github.com/search?q=repo%3Acmu-delphi%2Fdelphi-epidata+%2Fmysql%2F+language%3Apython&type=code ), we really only use mysql-connector
/mysql-connector-python
aka mysql.connector
. This amounts to just the acquisition and test code.
In non-python ( https://github.com/search?q=repo%3Acmu-delphi%2Fdelphi-epidata+%2Fmysql%2F+-language%3Apython&type=code ), the only places we see mysqlclient
aka mysqldb
are in requirements files and as a 'dialect' in SQLAlchemy DBURIs.
It seems silly to use two different adapters/drivers across this single repository. I was going to suggest settling on using only mysql-connector
because it would not require changing code and could be done with a very small diff, but the SQLAlchemy documentation has some scary-sounding commentary on it AND it was mysql-connector
that was in play when i noticed the behavior that caused me to file this issue in the first place (see #1356). That makes me think it may be safer in the long run to have all of our stuff use mysqlclient
instead. The programming interface for mysqlclient
(at a glance) looks fairly similar to what we are already using, so it might be enough to just find and replace
import mysql.connector
--> from MySQLdb import _mysql as mysqldb
and then
mysql.connector
--> mysqldb
but realistically, all of the usages of the module in our repo should be individually checked for compatibility.
So, at this point, we can either:
- just remove the one package and update versions for the other two (and leave the other work for a new and separate GH issue)
- OR remove two packages and update the version for the third, plus make python code changes to consolidate on the third.
from delphi-epidata.
After all of the SQLAlchemy talk, it occurs to me that its probably worth it to bump its version too. The version we are currently using (1.4.40) is about 1.5y old. There is a new major release, but also very recent maintenance releases to the minor version we are already using. Our uses of the package are fairly simplistic, so it is probably low risk to attempt the major.
from delphi-epidata.
Related Issues (20)
- Error when API request is made for an invalid region? HOT 1
- Replace misleading numeric values in `covid_hosp_facility`? HOT 2
- `covid_hosp_state_timeseries` doesn't return any data HOT 3
- `covid_hosp_facility` has entries with malformed `collection_week` dates HOT 1
- covid_hosp_facility data from Aug 7, 2023 is corrupted HOT 1
- fix uncaught user input processing in date util HOT 2
- Update deprecated github actions HOT 1
- Consider deprecation/removal of delphi_epidata.R client HOT 1
- "Date of last change" dates for some COVIDcast-signals pages should actively link to changelog HOT 1
- Missing from the Changelog's sources and signals is google-symptoms
- Move DB driver specification out of config and into code
- Log "Referer" header to help track tool usage HOT 1
- Some NY data missing from `fluview`
- Synchronize dependency versioning on automation servers HOT 1
- Document `covid_naat_pct_positive_7dav` in `dsew-cpr`
- API queries timing out at 1 min in the proxy HOT 11
- Consider more specific error message when incorrect value is entered for epidatr
- Consider omitting "earliest issue date" from doc pages signals description table for sources hhs and chng
- Clarify whether the “Other Endpoints” section is meant to include COVID + other diseases, or just other diseases HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from delphi-epidata.