From c579028007581453fecdff2cc668d055168e5be7 Mon Sep 17 00:00:00 2001 From: weijing Date: Tue, 16 Sep 2025 15:25:59 +0800 Subject: [PATCH] "Fix-dependencies-and-cleanup" --- creat_api.txt | 39 ---- creat_table.txt | 29 --- create_menu_table.py | 39 ---- create_order_table.py | 46 ----- create_order_table.txt | 14 -- create_tables.py | 70 -------- requirements.txt | 391 ++--------------------------------------- update_table.py | 35 ---- update_table.txt | 14 -- 9 files changed, 12 insertions(+), 665 deletions(-) delete mode 100644 creat_api.txt delete mode 100644 creat_table.txt delete mode 100644 create_menu_table.py delete mode 100644 create_order_table.py delete mode 100644 create_order_table.txt delete mode 100644 create_tables.py delete mode 100644 update_table.py delete mode 100644 update_table.txt diff --git a/creat_api.txt b/creat_api.txt deleted file mode 100644 index 87e6e30..0000000 --- a/creat_api.txt +++ /dev/null @@ -1,39 +0,0 @@ -請產生一支可直接執行的 Flask API 伺服器,需求: -- 使用 mysql.connector 連線 - -資料庫資訊: -DB_HOST = mysql.theaken.com -DB_PORT = 33306 -DB_NAME = db_A027 -DB_USER = A027 -DB_PASSWORD = E1CelfxqlKoj - - - -TABLE = orders -- 路由: -- GET /v1/orders:支援 ?Id、?emp_id、?emp_name、?menu_item_id、?main_course、?order_date、?order_qty,要多回傳 {meta} -- GET /v1/orders/:找不到回 404 -- POST /v1/orders:接收 JSON {Id,emp_id,emp_name,menu_item_id,main_course,order_date,order_qty},欄位驗證,成功回 201 並回新資料 -- PATCH /v1/orders/:可更新任一欄位(id/emp_id/name/menu_item_id/main_course/order_date/order_qty),成功回 200 回更新後資料 -- DELETE /v1/orders/:成功回 204 - - -TABLE = menu_items -- 路由: -- GET /v1/menu_items:支援 ?id、?main_course、?side_dish、?addon、?menu_date,要多回傳 {meta} -- GET /v1/menu_items/:找不到回 404 -- POST /v1/menu_items:接收 JSON {id,main_course,side_dish,addon,menu_date},欄位驗證,成功回 201 並回新資料 -- PATCH /v1/menu_items/:可更新任一欄位(id/main_course/side_dish/addon/menu_date),成功回 200 回更新後資料 -- DELETE /v1/menu_items/:成功回 204 - - - - -- 所有寫入請用參數化查詢避免 SQL 注入 - -- 統一格式 { status,code,message,data } - -- 統一錯誤格式 {status:"error", code, message} - -- 啟用 CORS(允許本機前端) \ No newline at end of file diff --git a/creat_table.txt b/creat_table.txt deleted file mode 100644 index a7b47ef..0000000 --- a/creat_table.txt +++ /dev/null @@ -1,29 +0,0 @@ -請根據以下需求幫我產生一段 Python 程式碼,能夠連線到資料庫並建立三張employee、 menu_items、employee_votes 資料表。 - -資料庫資訊: -DB_HOST = mysql.theaken.com -DB_PORT = 33306 -DB_NAME = db_A027 -DB_USER = A027 -DB_PASSWORD = E1CelfxqlKoj - -需求: -1. 使用 mysql.connector 套件。 -2. 建立三張名稱為employee、 menu_items、employee_votes 的資料表,包含以下欄位: - 2.1 TABLE名稱 employee(員工檔) - -id : 員工工號(NVARCHAR) - -name : 員工姓名(NVARCHAR) - - 2.2 menu_items(菜色基本資料) - -id : NUMBER(自動編號) - -main_course : 主餐(NVARCHAR) - -side_dish : 副餐(NVARCHAR) - -addon : 湯品/甜點(NVARCHAR) - -menu_date :當天菜色(DATE) - - 2.3 employee_votes(餐點訂購檔) - -id : NUMBER(自動編號) - -emp_id : 工號(NVARCHAR) - -order_date : 訂餐日期(DATE) - -menu_item_id: 投票選擇的餐點(NUMBER) - -order_qty : 訂餐份數(NUMBER) diff --git a/create_menu_table.py b/create_menu_table.py deleted file mode 100644 index 23dc1a5..0000000 --- a/create_menu_table.py +++ /dev/null @@ -1,39 +0,0 @@ - -import mysql.connector - -# DB credentials -config = { - 'user': 'A027', - 'password': 'E1CelfxqlKoj', - 'host': 'mysql.theaken.com', - 'port': 33306, - 'database': 'db_A027' -} - -TABLES = {} -TABLES['menu_items'] = ( - "CREATE TABLE `menu_items` (" - " `id` int NOT NULL AUTO_INCREMENT," - " `main_course` varchar(255) NOT NULL," - " `side_dish` varchar(255) DEFAULT NULL," - " `addon` varchar(255) DEFAULT NULL," - " `menu_date` date NOT NULL," - " PRIMARY KEY (`id`)" - ") ENGINE=InnoDB") - -try: - cnx = mysql.connector.connect(**config) - cursor = cnx.cursor() - - cursor.execute("DROP TABLE IF EXISTS menu_items") - table_description = TABLES['menu_items'] - cursor.execute(table_description) - print("資料表 'menu_items' 建立成功!") - -except mysql.connector.Error as err: - print(f"資料庫錯誤: {err}") -finally: - if 'cursor' in locals() and cursor: - cursor.close() - if 'cnx' in locals() and cnx.is_connected(): - cnx.close() diff --git a/create_order_table.py b/create_order_table.py deleted file mode 100644 index d2ca0ee..0000000 --- a/create_order_table.py +++ /dev/null @@ -1,46 +0,0 @@ - -import mysql.connector -from mysql.connector import errorcode - -# Assuming the same DB credentials as the previous task -config = { - 'user': 'A027', - 'password': 'E1CelfxqlKoj', - 'host': 'mysql.theaken.com', - 'port': 33306, - 'database': 'db_A027' -} - -TABLES = {} -TABLES['orders'] = ( - "CREATE TABLE `orders` (" - " `id` int NOT NULL AUTO_INCREMENT," - " `emp_id` varchar(10) NOT NULL," - " `emp_name` varchar(10) NOT NULL," - " `menu_item_id` int NOT NULL," - " `main_course` int NOT NULL," - " `order_date` date NOT NULL," - " `order_qty` int NOT NULL," - " PRIMARY KEY (`id`)" - ") ENGINE=InnoDB") - -try: - cnx = mysql.connector.connect(**config) - cursor = cnx.cursor() - - # Drop the table if it exists - cursor.execute("DROP TABLE IF EXISTS orders") - print("資料表 'orders' 已刪除 (如果存在的話)。") - - # Create the table - table_description = TABLES['orders'] - cursor.execute(table_description) - print("資料表 'orders' 建立成功!") - -except mysql.connector.Error as err: - print(f"資料庫錯誤: {err}") -finally: - if 'cursor' in locals() and cursor: - cursor.close() - if 'cnx' in locals() and cnx.is_connected(): - cnx.close() diff --git a/create_order_table.txt b/create_order_table.txt deleted file mode 100644 index c9aeeeb..0000000 --- a/create_order_table.txt +++ /dev/null @@ -1,14 +0,0 @@ -請根據以下需求幫我產生一段 Python 程式碼,能夠連線到資料庫並建立一張 orders 資料表。 -資料庫資訊 參考 ".env檔" -需求: -1. 使用 mysql.connector 套件。 -2. 建立一張名稱為 orders 的資料表,包含以下欄位: - - id: 訂購id (NUMBER) - - emp_id: 員工id (VARCHAR(10)) - - emp_name: 員工姓名 (VARCHAR(10)) - - menu_item_id: 餐點id (NUMBER) - - main_course: 主餐點名稱 (NUMBER) - - order_date: 訂購日期 (DATE) - - order_qty: 訂購數量 (NUMBER) -3. 執行成功後,印出「資料表建立成功!」。 -4. 若資料表已存在,先刪除再重建。 diff --git a/create_tables.py b/create_tables.py deleted file mode 100644 index 39a0928..0000000 --- a/create_tables.py +++ /dev/null @@ -1,70 +0,0 @@ - -import mysql.connector - -# Database connection details -DB_HOST = "mysql.theaken.com" -DB_PORT = 33306 -DB_NAME = "db_A027" -DB_USER = "A027" -DB_PASSWORD = "E1CelfxqlKoj" - -try: - # Establish the connection - conn = mysql.connector.connect( - host=DB_HOST, - port=DB_PORT, - database=DB_NAME, - user=DB_USER, - password=DB_PASSWORD - ) - cursor = conn.cursor() - - # SQL statements to create tables - create_employee_table = """ - CREATE TABLE IF NOT EXISTS employee ( - id NVARCHAR(255) PRIMARY KEY, - name NVARCHAR(255) - ) - """ - - create_menu_items_table = """ - CREATE TABLE IF NOT EXISTS menu_items ( - id INT AUTO_INCREMENT PRIMARY KEY, - main_course NVARCHAR(255), - side_dish NVARCHAR(255), - addon NVARCHAR(255), - menu_date DATE - ) - """ - - create_employee_votes_table = """ - CREATE TABLE IF NOT EXISTS employee_votes ( - id INT AUTO_INCREMENT PRIMARY KEY, - emp_id NVARCHAR(255), - order_date DATE, - menu_item_id INT, - order_qty INT, - FOREIGN KEY (emp_id) REFERENCES employee(id), - FOREIGN KEY (menu_item_id) REFERENCES menu_items(id) - ) - """ - - # Execute the create table statements - cursor.execute(create_employee_table) - print("Table 'employee' created successfully.") - - cursor.execute(create_menu_items_table) - print("Table 'menu_items' created successfully.") - - cursor.execute(create_employee_votes_table) - print("Table 'employee_votes' created successfully.") - -except mysql.connector.Error as err: - print(f"Error: {err}") - -finally: - # Close the connection - if 'conn' in locals() and conn.is_connected(): - cursor.close() - conn.close() - print("MySQL connection is closed.") diff --git a/requirements.txt b/requirements.txt index 523fd84..9417f0d 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,382 +1,15 @@ -aiobotocore @ file:///C:/b/abs_a0zxrsvpwx/croot/aiobotocore_1714464454692/work -aiohappyeyeballs @ file:///C:/b/abs_b505trsapr/croot/aiohappyeyeballs_1725434036096/work -aiohttp @ file:///C:/b/abs_13j6efxjb7/croot/aiohttp_1725529348885/work -aioitertools @ file:///tmp/build/80754af9/aioitertools_1607109665762/work -aiosignal @ file:///tmp/build/80754af9/aiosignal_1637843061372/work -alabaster @ file:///C:/b/abs_45ba4vacaj/croot/alabaster_1718201502252/work -altair @ file:///C:/Users/dev-admin/perseverance-python-buildout/croot/altair_1699497320503/work -anaconda-anon-usage @ file:///C:/b/abs_c3w_h1zzjg/croot/anaconda-anon-usage_1710965204622/work -anaconda-catalogs @ file:///C:/Users/dev-admin/perseverance-python-buildout/croot/anaconda-catalogs_1701816586117/work -anaconda-client @ file:///C:/b/abs_34txutm0ue/croot/anaconda-client_1708640705294/work -anaconda-cloud-auth @ file:///C:/b/abs_b02evi84gh/croot/anaconda-cloud-auth_1713991445770/work -anaconda-navigator @ file:///C:/b/abs_a5gzce6vy0/croot/anaconda-navigator_1727709729163/work -anaconda-project @ file:///C:/b/abs_95s0l9dwvd/croot/anaconda-project_1706049257687/work -annotated-types @ file:///C:/b/abs_0dmaoyhhj3/croot/annotated-types_1709542968311/work -anyio @ file:///C:/b/abs_847uobe7ea/croot/anyio_1706220224037/work -appdirs==1.4.4 -archspec @ file:///croot/archspec_1709217642129/work -argon2-cffi @ file:///opt/conda/conda-bld/argon2-cffi_1645000214183/work -argon2-cffi-bindings @ file:///C:/Users/dev-admin/perseverance-python-buildout/croot/argon2-cffi-bindings_1699549801117/work -arrow @ file:///C:/Users/dev-admin/perseverance-python-buildout/croot/arrow_1699549851004/work -asgiref==3.8.1 -astroid @ file:///C:/Users/dev-admin/perseverance-python-buildout/croot/astroid_1699480418189/work -astropy @ file:///C:/b/abs_5egnt0gyqe/croot/astropy_1726174619184/work -astropy-iers-data @ file:///C:/b/abs_ecdfv0_ea2/croot/astropy-iers-data_1726000550777/work -asttokens @ file:///opt/conda/conda-bld/asttokens_1646925590279/work -async-lru @ file:///C:/Users/dev-admin/perseverance-python-buildout/croot/async-lru_1701796859357/work -atomicwrites==1.4.0 -attrs @ file:///C:/Users/dev-admin/perseverance-python-buildout/croot/attrs_1699473735254/work -Automat @ file:///tmp/build/80754af9/automat_1600298431173/work -autopep8 @ file:///croot/autopep8_1708962882016/work -Babel @ file:///C:/Users/dev-admin/perseverance-python-buildout/croot/babel_1699475785740/work -bcrypt @ file:///C:/Users/dev-admin/perseverance-python-buildout/croot/bcrypt_1699483842258/work -beautifulsoup4 @ file:///C:/b/abs_d5wytg_p0w/croot/beautifulsoup4-split_1718029833749/work -binaryornot @ file:///tmp/build/80754af9/binaryornot_1617751525010/work -black @ file:///C:/b/abs_3arhghl9_x/croot/black_1725573890945/work -bleach @ file:///opt/conda/conda-bld/bleach_1641577558959/work -blinker @ file:///C:/Users/dev-admin/perseverance-python-buildout/croot/blinker_1699474692786/work -bokeh @ file:///C:/b/abs_b40zi4jp_s/croot/bokeh_1727914495891/work -boltons @ file:///C:/Users/dev-admin/perseverance-python-buildout/croot/boltons_1699480450092/work -botocore @ file:///C:/b/abs_0dkeqep0ox/croot/botocore_1714460586193/work -Bottleneck @ file:///C:/b/abs_f7un855idq/croot/bottleneck_1709069969633/work -Brotli @ file:///C:/b/abs_3d36mno480/croot/brotli-split_1714483178642/work -cachetools @ file:///C:/b/abs_792zbtc0ua/croot/cachetools_1713977157919/work -certifi @ file:///C:/b/abs_1fw_exq1si/croot/certifi_1725551736618/work/certifi -cffi @ file:///C:/b/abs_90yq4lmu83/croot/cffi_1726856448345/work -chardet @ file:///C:/Users/dev-admin/perseverance-python-buildout/croot/chardet_1699498892802/work -charset-normalizer @ file:///croot/charset-normalizer_1721748349566/work -click @ file:///C:/Users/dev-admin/perseverance-python-buildout/croot/click_1699473800648/work -cloudpickle @ file:///C:/b/abs_8abv3sva4p/croot/cloudpickle_1721657372632/work -colorama @ file:///C:/Users/dev-admin/perseverance-python-buildout/croot/colorama_1699472650914/work -colorcet @ file:///C:/b/abs_7ep0mfawez/croot/colorcet_1709758405232/work -comm @ file:///C:/b/abs_67a8058udb/croot/comm_1709322909844/work -conda @ file:///C:/b/abs_85jnuwc__u/croot/conda_1729193917673/work -conda-build @ file:///C:/b/abs_afd1hjce19/croot/conda-build_1726839930400/work -conda-content-trust @ file:///C:/b/abs_bdfatn_wzf/croot/conda-content-trust_1714483201909/work -conda-libmamba-solver @ file:///croot/conda-libmamba-solver_1727775630457/work/src -conda-pack @ file:///C:/b/abs_0cu91sbau5/croot/conda-pack_1710258097566/work -conda-package-handling @ file:///C:/b/abs_831_pypuuz/croot/conda-package-handling_1718138287790/work -conda-repo-cli @ file:///C:/b/abs_67rnnns_lt/croot/conda-repo-cli_1727366919559/work -conda-token @ file:///croot/conda-token_1718995751285/work -conda_index @ file:///C:/b/abs_45v3w98im_/croot/conda-index_1719338245731/work -conda_package_streaming @ file:///C:/b/abs_fe6zb0_j8_/croot/conda-package-streaming_1718136098642/work -constantly @ file:///C:/b/abs_cbuavw4443/croot/constantly_1703165617403/work -contourpy @ file:///C:/Users/dev-admin/perseverance-python-buildout/croot/contourpy_1701817388761/work -cookiecutter @ file:///C:/b/abs_66untpu1ub/croot/cookiecutter_1711059869779/work -cryptography @ file:///C:/b/abs_35g500qir4/croot/cryptography_1724940575116/work -cssselect @ file:///C:/b/abs_71gnjab7b0/croot/cssselect_1707339955530/work -cycler @ file:///tmp/build/80754af9/cycler_1637851556182/work -cytoolz @ file:///C:/b/abs_d43s8lnb60/croot/cytoolz_1701723636699/work -dask @ file:///C:/b/abs_12bk4i_z1j/croot/dask-core_1725464350376/work -dask-expr @ file:///C:/b/abs_d8e1rqubql/croot/dask-expr_1725523012670/work -datashader @ file:///C:/b/abs_37m05texdf/croot/datashader_1720534925330/work -debugpy @ file:///C:/Users/dev-admin/perseverance-python-buildout/croot/debugpy_1699554994633/work -decorator @ file:///opt/conda/conda-bld/decorator_1643638310831/work -defusedxml @ file:///tmp/build/80754af9/defusedxml_1615228127516/work -diff-match-patch @ file:///Users/ktietz/demo/mc3/conda-bld/diff-match-patch_1630511840874/work -dill @ file:///C:/b/abs_f79eg27d2q/croot/dill_1715094735295/work -distlib==0.3.9 -distributed @ file:///C:/b/abs_52ju83vjqr/croot/distributed_1725523030746/work -distro @ file:///C:/b/abs_71xr36ua5r/croot/distro_1714488282676/work -Django==5.2.1 -docstring-to-markdown @ file:///C:/Users/dev-admin/perseverance-python-buildout/croot/docstring-to-markdown_1699484265167/work -docutils @ file:///C:/Users/dev-admin/perseverance-python-buildout/croot/docutils_1699474820579/work -et-xmlfile @ file:///C:/Users/dev-admin/perseverance-python-buildout/croot/et_xmlfile_1699500373144/work -executing @ file:///opt/conda/conda-bld/executing_1646925071911/work fastapi==0.115.12 -fastjsonschema @ file:///C:/Users/dev-admin/perseverance-python-buildout/croot/python-fastjsonschema_1699475134300/work -filelock @ file:///C:/Users/dev-admin/perseverance-python-buildout/croot/filelock_1701807523603/work -flake8 @ file:///C:/b/abs_caud66drfv/croot/flake8_1708965316778/work -Flask @ file:///C:/b/abs_f9w7doyu0h/croot/flask_1716545924884/work -flask-cors==6.0.1 -fonttools @ file:///C:/b/abs_f47gnfqnx0/croot/fonttools_1713551644747/work -frozendict @ file:///C:/b/abs_2alamqss6p/croot/frozendict_1713194885124/work -frozenlist @ file:///C:/Users/dev-admin/perseverance-python-buildout/croot/frozenlist_1699557027827/work -fsspec @ file:///C:/b/abs_02vh2bpxfo/croot/fsspec_1724855601370/work -gensim @ file:///C:/b/abs_efsh9stgvi/croot/gensim_1725376635600/work -gitdb @ file:///tmp/build/80754af9/gitdb_1617117951232/work -GitPython @ file:///C:/b/abs_2bkslnqz4i/croot/gitpython_1720455044865/work -greenlet @ file:///C:/b/abs_a6c75ie0bc/croot/greenlet_1702060012174/work -h11 @ file:///C:/b/abs_1czwoyexjf/croot/h11_1706652332846/work -h5py @ file:///C:/b/abs_c4ha_1xv14/croot/h5py_1715094776210/work -HeapDict @ file:///Users/ktietz/demo/mc3/conda-bld/heapdict_1630598515714/work -holoviews @ file:///C:/b/abs_5f962ukrbq/croot/holoviews_1720534381286/work -httpcore @ file:///C:/b/abs_55n7g233bw/croot/httpcore_1706728507241/work -httpx @ file:///C:/b/abs_43e135shby/croot/httpx_1723474830126/work -hvplot @ file:///C:/b/abs_b05v45vms6/croot/hvplot_1727775587313/work -hyperlink @ file:///tmp/build/80754af9/hyperlink_1610130746837/work -idna @ file:///C:/b/abs_aad84bnnw5/croot/idna_1714398896795/work -imagecodecs @ file:///C:/Users/dev-admin/perseverance-python-buildout/croot/imagecodecs_1699481498787/work -imageio @ file:///C:/b/abs_aeqerw_nps/croot/imageio_1707247365204/work -imagesize @ file:///C:/Users/dev-admin/perseverance-python-buildout/croot/imagesize_1699476341924/work -imbalanced-learn @ file:///C:/b/abs_43zx11b5ex/croot/imbalanced-learn_1718132243956/work -importlib-metadata @ file:///C:/b/abs_c1egths604/croot/importlib_metadata-suite_1704813568388/work -incremental @ file:///croot/incremental_1708639938299/work -inflection @ file:///C:/Users/dev-admin/perseverance-python-buildout/croot/inflection_1699500974258/work -iniconfig @ file:///home/linux1/recipes/ci/iniconfig_1610983019677/work -intake @ file:///C:/b/abs_ebww2no2x2/croot/intake_1726109581477/work -intervaltree @ file:///Users/ktietz/demo/mc3/conda-bld/intervaltree_1630511889664/work -ipykernel @ file:///C:/b/abs_c2u94kxcy6/croot/ipykernel_1705933907920/work -ipython @ file:///C:/b/abs_53it5seiim/croot/ipython_1726064251844/work -ipython-genutils @ file:///tmp/build/80754af9/ipython_genutils_1606773439826/work -ipywidgets @ file:///C:/b/abs_4fgmepzmbu/croot/ipywidgets_1710961556913/work -isort @ file:///C:/b/abs_50iy840e4z/croot/isort_1718291849200/work -itemadapter @ file:///tmp/build/80754af9/itemadapter_1626442940632/work -itemloaders @ file:///C:/b/abs_5e3azgv25z/croot/itemloaders_1708639993442/work -itsdangerous @ file:///C:/b/abs_c4vwgdr5yn/croot/itsdangerous_1716533399914/work -jaraco.classes @ file:///tmp/build/80754af9/jaraco.classes_1620983179379/work -jedi @ file:///C:/b/abs_1b8kmj7rrm/croot/jedi_1721058359741/work -jellyfish @ file:///C:/Users/dev-admin/perseverance-python-buildout/croot/jellyfish_1699558116601/work -Jinja2 @ file:///C:/b/abs_92fccttino/croot/jinja2_1716993447201/work -jmespath @ file:///C:/Users/dev-admin/perseverance-python-buildout/croot/jmespath_1701807551985/work -joblib @ file:///C:/b/abs_f4b98l6lgk/croot/joblib_1718217224240/work -json5 @ file:///tmp/build/80754af9/json5_1624432770122/work -jsonpatch @ file:///C:/b/abs_4fdm88t7zi/croot/jsonpatch_1714483974578/work -jsonpointer==2.1 -jsonschema @ file:///C:/b/abs_394_t6__xq/croot/jsonschema_1728486718320/work -jsonschema-specifications @ file:///C:/Users/dev-admin/py312/jsonschema-specifications_1706803038066/work -jupyter @ file:///C:/b/abs_03nm7xrhxz/croot/jupyter_1709837239940/work -jupyter-console @ file:///C:/Users/dev-admin/perseverance-python-buildout/croot/jupyter_console_1707430148515/work -jupyter-events @ file:///C:/b/abs_c2m9s5b5m5/croot/jupyter_events_1718738115254/work -jupyter-lsp @ file:///C:/Users/dev-admin/perseverance-python-buildout/croot/jupyter-lsp-meta_1701806528286/work -jupyter_client @ file:///C:/Users/dev-admin/perseverance-python-buildout/croot/jupyter_client_1701796382758/work -jupyter_core @ file:///C:/b/abs_beftpbuevw/croot/jupyter_core_1718818307097/work -jupyter_server @ file:///C:/b/abs_9a333nh6yu/croot/jupyter_server_1718827092223/work -jupyter_server_terminals @ file:///C:/Users/dev-admin/perseverance-python-buildout/croot/jupyter_server_terminals_1701798041635/work -jupyterlab @ file:///C:/b/abs_88qjk9lo2r/croot/jupyterlab_1725895228333/work -jupyterlab-pygments @ file:///tmp/build/80754af9/jupyterlab_pygments_1601490720602/work -jupyterlab-widgets @ file:///tmp/build/80754af9/jupyterlab_widgets_1609884341231/work -jupyterlab_server @ file:///C:/b/abs_fdi5r_tpjc/croot/jupyterlab_server_1725865372811/work -keyring @ file:///C:/b/abs_78uoj9sw00/croot/keyring_1709632550180/work -kiwisolver @ file:///C:/Users/dev-admin/perseverance-python-buildout/croot/kiwisolver_1699476425777/work -lazy-object-proxy @ file:///C:/b/abs_19td_nzb6n/croot/lazy-object-proxy_1712908735070/work -lazy_loader @ file:///C:/b/abs_3fs2i5w5p3/croot/lazy_loader_1718176758844/work -lckr_jupyterlab_variableinspector @ file:///C:/Users/dev-admin/perseverance-python-buildout/croot/jupyterlab-variableinspector_1709167201477/work -libarchive-c @ file:///croot/python-libarchive-c_1726069797193/work -libmambapy @ file:///C:/b/abs_aam1usey89/croot/mamba-split_1725563515831/work/libmambapy -linkify-it-py @ file:///C:/Users/dev-admin/perseverance-python-buildout/croot/linkify-it-py_1699558957411/work -llvmlite @ file:///C:/b/abs_80rinyr2fr/croot/llvmlite_1720455223586/work -lmdb @ file:///C:/Users/dev-admin/perseverance-python-buildout/croot/python-lmdb_1699495888630/work -locket @ file:///C:/Users/dev-admin/perseverance-python-buildout/croot/locket_1699476508014/work -lxml==5.2.1 -lz4 @ file:///C:/Users/dev-admin/perseverance-python-buildout/croot/lz4_1699559532268/work -Markdown @ file:///C:/Users/dev-admin/perseverance-python-buildout/croot/markdown_1699503092856/work -markdown-it-py @ file:///C:/Users/dev-admin/perseverance-python-buildout/croot/markdown-it-py_1699473886965/work -MarkupSafe @ file:///C:/Users/dev-admin/perseverance-python-buildout/croot/markupsafe_1707425732791/work -matplotlib==3.9.2 -matplotlib-inline @ file:///C:/Users/dev-admin/perseverance-python-buildout/croot/matplotlib-inline_1699484796387/work -mccabe @ file:///opt/conda/conda-bld/mccabe_1644221741721/work -mdit-py-plugins @ file:///C:/Users/dev-admin/perseverance-python-buildout/croot/mdit-py-plugins_1699559788389/work -mdurl @ file:///C:/Users/dev-admin/perseverance-python-buildout/croot/mdurl_1699473506455/work -menuinst @ file:///C:/b/abs_76jwd47ck1/croot/menuinst_1723567618942/work -mistune @ file:///C:/Users/dev-admin/perseverance-python-buildout/croot/mistune_1699559923704/work -mkl-service==2.4.0 -mkl_fft @ file:///C:/b/abs_f55mv94vyg/croot/mkl_fft_1725370278455/work -mkl_random @ file:///C:/b/abs_21ydbzdu8d/croot/mkl_random_1725370276095/work -more-itertools @ file:///C:/b/abs_a2n4mhb8gn/croot/more-itertools_1727185463826/work -mpmath @ file:///C:/Users/dev-admin/perseverance-python-buildout/croot/mpmath_1699484863771/work -msgpack @ file:///C:/Users/dev-admin/perseverance-python-buildout/croot/msgpack-python_1699473924872/work -multidict @ file:///C:/b/abs_44ido987fv/croot/multidict_1701097803486/work -multipledispatch @ file:///C:/Users/dev-admin/perseverance-python-buildout/croot/multipledispatch_1699473951974/work -mypy @ file:///C:/b/abs_b8k0j63oc7/croot/mypy-split_1725574346532/work -mypy-extensions @ file:///C:/Users/dev-admin/perseverance-python-buildout/croot/mypy_extensions_1699482634516/work -mysql-connector-python==9.4.0 -navigator-updater @ file:///C:/b/abs_22_3uaq2ey/croot/navigator-updater_1718030405023/work -nbclient @ file:///C:/Users/dev-admin/perseverance-python-buildout/croot/nbclient_1701796752236/work -nbconvert @ file:///C:/b/abs_ac6qnzi3no/croot/nbconvert_1728050663985/work -nbformat @ file:///C:/b/abs_c2jkw46etm/croot/nbformat_1728050303821/work -nest-asyncio @ file:///C:/b/abs_65d6lblmoi/croot/nest-asyncio_1708532721305/work -networkx @ file:///C:/b/abs_36fmumtynt/croot/networkx_1720002497414/work -nltk @ file:///C:/b/abs_3e10flry37/croot/nltk_1724427703710/work -notebook @ file:///C:/b/abs_feeub5ouq6/croot/notebook_1727197380211/work -notebook_shim @ file:///C:/Users/dev-admin/perseverance-python-buildout/croot/notebook-shim_1701806592322/work -numba @ file:///C:/b/abs_51yyu3qucu/croot/numba_1720540987599/work -numexpr @ file:///C:/Users/dev-admin/perseverance-python-buildout/croot/numexpr_1699503421264/work -numpy==1.26.4 -numpydoc @ file:///C:/b/abs_bbspp5l8vu/croot/numpydoc_1718279185573/work -opencv-python==4.12.0.88 -openpyxl @ file:///C:/b/abs_0e6ca21lac/croot/openpyxl_1721752965859/work -overrides @ file:///C:/Users/dev-admin/perseverance-python-buildout/croot/overrides_1701806336503/work -packaging @ file:///C:/b/abs_c3vlh0z4jw/croot/packaging_1720101866539/work -pandas @ file:///C:/b/abs_9aotnvvz16/croot/pandas_1718308978393/work/dist/pandas-2.2.2-cp312-cp312-win_amd64.whl#sha256=93959056e02e9855025011adb18394296a58d49e72b9342733b7693a5267c790 -pandocfilters @ file:///opt/conda/conda-bld/pandocfilters_1643405455980/work -panel @ file:///C:/b/abs_fas2lxv_bs/croot/panel_1728066386547/work -param @ file:///C:/b/abs_b4yato0oux/croot/param_1719347953072/work -paramiko @ file:///opt/conda/conda-bld/paramiko_1640109032755/work -parsel @ file:///C:/b/abs_ebc3tzm_c4/croot/parsel_1707503517596/work -parso @ file:///opt/conda/conda-bld/parso_1641458642106/work -partd @ file:///C:/Users/dev-admin/perseverance-python-buildout/croot/partd_1699482661603/work -pathspec @ file:///C:/Users/dev-admin/perseverance-python-buildout/croot/pathspec_1699472481068/work -patsy @ file:///C:/b/abs_21hy_wyj13/croot/patsy_1718378184379/work -pexpect @ file:///tmp/build/80754af9/pexpect_1605563209008/work -pickleshare @ file:///tmp/build/80754af9/pickleshare_1606932040724/work -pillow @ file:///C:/b/abs_32o8er3uqp/croot/pillow_1721059447598/work -pkce @ file:///C:/Users/dev-admin/perseverance-python-buildout/croot/pkce_1699482718905/work -pkginfo @ file:///C:/b/abs_bciypal17m/croot/pkginfo_1715696027839/work -platformdirs @ file:///C:/Users/dev-admin/perseverance-python-buildout/croot/platformdirs_1701797392447/work -plotly @ file:///C:/b/abs_1014knmz1t/croot/plotly_1726245573566/work -pluggy @ file:///C:/Users/dev-admin/perseverance-python-buildout/croot/pluggy_1699472504117/work -ply @ file:///C:/Users/dev-admin/perseverance-python-buildout/croot/ply_1699473999871/work -prometheus-client @ file:///C:/Users/dev-admin/perseverance-python-buildout/croot/prometheus_client_1699495496669/work -prompt-toolkit @ file:///C:/b/abs_68uwr58ed1/croot/prompt-toolkit_1704404394082/work -Protego @ file:///tmp/build/80754af9/protego_1598657180827/work -protobuf==4.25.3 -psutil @ file:///C:/Users/dev-admin/perseverance-python-buildout/croot/psutil_1699482842340/work -ptyprocess @ file:///tmp/build/80754af9/ptyprocess_1609355006118/work/dist/ptyprocess-0.7.0-py2.py3-none-any.whl -pure-eval @ file:///opt/conda/conda-bld/pure_eval_1646925070566/work -py-cpuinfo @ file:///C:/Users/dev-admin/perseverance-python-buildout/croot/py-cpuinfo_1699495567147/work -pyarrow @ file:///C:/b/abs_cbc4sg_1e0/croot/pyarrow_1721664257308/work/python -pyasn1 @ file:///Users/ktietz/demo/mc3/conda-bld/pyasn1_1629708007385/work -pyasn1-modules==0.2.8 -pycodestyle @ file:///C:/b/abs_e9pt4mahct/croot/pycodestyle_1701910643139/work -pycosat @ file:///C:/b/abs_5csdern___/croot/pycosat_1714513102923/work -pycparser @ file:///tmp/build/80754af9/pycparser_1636541352034/work -pyct @ file:///C:/Users/dev-admin/perseverance-python-buildout/croot/pyct_1699542988857/work -pycurl @ file:///C:/b/abs_2bemyov07c/croot/pycurl_1725370252605/work -pydantic @ file:///C:/b/abs_b7acb4hnl_/croot/pydantic_1725040540545/work -pydantic_core @ file:///C:/b/abs_3ax4s6v28p/croot/pydantic-core_1724790490828/work -pydeck @ file:///C:/b/abs_ad9p880wi1/croot/pydeck_1706194121328/work -PyDispatcher @ file:///C:/Users/dev-admin/perseverance-python-buildout/croot/pydispatcher_1699543033434/work -pydocstyle @ file:///C:/Users/dev-admin/perseverance-python-buildout/croot/pydocstyle_1699495611004/work -pyerfa @ file:///C:/b/abs_477fivsfe8/croot/pyerfa_1717700768172/work -pyflakes @ file:///C:/b/abs_b6t1aazq2e/croot/pyflakes_1708963020907/work -pygame==2.6.1 -Pygments @ file:///C:/Users/dev-admin/perseverance-python-buildout/croot/pygments_1699474141968/work -PyJWT @ file:///C:/b/abs_04qhgo75wz/croot/pyjwt_1715095119685/work -pylint @ file:///C:/Users/dev-admin/perseverance-python-buildout/croot/pylint_1699495689806/work -pylint-venv @ file:///C:/b/abs_3f6p_17zia/croot/pylint-venv_1709837680309/work -pyls-spyder==0.4.0 -PyMuPDF==1.26.3 -PyNaCl @ file:///C:/Users/dev-admin/perseverance-python-buildout/croot/pynacl_1699563077212/work -pyodbc @ file:///C:/b/abs_cbgr1yn8qs/croot/pyodbc_1725560257385/work -pyOpenSSL @ file:///C:/b/abs_61vvbgrloc/croot/pyopenssl_1723651600236/work -pyparsing @ file:///C:/b/abs_520r19rysg/croot/pyparsing_1725041656021/work -PyQt5==5.15.10 -PyQt5-sip @ file:///C:/Users/dev-admin/perseverance-python-buildout/croot/pyqt-split_1699478669290/work/pyqt_sip -PyQtWebEngine==5.15.6 -PySocks @ file:///C:/Users/dev-admin/perseverance-python-buildout/croot/pysocks_1699473336188/work -pytest @ file:///C:/b/abs_een_3z747j/croot/pytest_1717793253670/work -python-dateutil @ file:///C:/b/abs_3au_koqnbs/croot/python-dateutil_1716495777160/work -python-dotenv @ file:///C:/Users/dev-admin/perseverance-python-buildout/croot/python-dotenv_1699475097728/work -python-json-logger @ file:///C:/Users/dev-admin/perseverance-python-buildout/croot/python-json-logger_1699543626759/work -python-lsp-black @ file:///C:/b/abs_5dhen_5vga/croot/python-lsp-black_1709232962589/work -python-lsp-jsonrpc @ file:///croot/python-lsp-jsonrpc_1708962872556/work -python-lsp-server @ file:///C:/b/abs_2cdyzvcq4z/croot/python-lsp-server_1708971796975/work -python-slugify @ file:///tmp/build/80754af9/python-slugify_1620405669636/work -pytoolconfig @ file:///C:/b/abs_f2j_xsvrpn/croot/pytoolconfig_1701728751207/work -pytz @ file:///C:/b/abs_6ap4tsz1ox/croot/pytz_1713974360290/work -pyviz_comms @ file:///C:/b/abs_674gfmqoxa/croot/pyviz_comms_1711136872853/work -PyWavelets @ file:///C:/b/abs_95ujr8_xu1/croot/pywavelets_1725657962149/work -pywin32==305.1 -pywin32-ctypes @ file:///C:/b/abs_2cfx5l4nvi/croot/pywin32-ctypes_1709340246092/work -pywinpty @ file:///C:/Users/dev-admin/perseverance-python-buildout/croot/pywinpty_1699496010557/work/target/wheels/pywinpty-2.0.10-cp312-none-win_amd64.whl#sha256=227f3f94f568f63ab3418c02875c4b429a0a3638e1a2917a22bb8e4ba1762179 -PyYAML @ file:///C:/Users/dev-admin/perseverance-python-buildout/croot/pyyaml_1699479991712/work -pyzbar==0.1.9 -pyzmq @ file:///C:/b/abs_89aq69t0up/croot/pyzmq_1705605705281/work -QDarkStyle @ file:///croot/qdarkstyle_1709231003551/work -qstylizer @ file:///C:/Users/dev-admin/perseverance-python-buildout/croot/qstylizer_1699565338341/work/dist/qstylizer-0.2.2-py2.py3-none-any.whl#sha256=be2f7d956d89710f13dee80f2d594e794c2710f12576fe60ecee84dd1ad72180 -QtAwesome @ file:///C:/b/abs_e1w2vmh9q7/croot/qtawesome_1726169367822/work -qtconsole @ file:///C:/b/abs_03f8rg9vl6/croot/qtconsole_1709231218069/work -QtPy @ file:///C:/Users/dev-admin/perseverance-python-buildout/croot/qtpy_1701807198514/work -queuelib @ file:///C:/Users/dev-admin/perseverance-python-buildout/croot/queuelib_1699543858829/work -referencing @ file:///C:/Users/dev-admin/py312/referencing_1706802962559/work -regex @ file:///C:/b/abs_5cm86yjgo3/croot/regex_1726670543261/work -requests @ file:///C:/b/abs_9frifg92q2/croot/requests_1721410901096/work -requests-file @ file:///Users/ktietz/demo/mc3/conda-bld/requests-file_1629455781986/work -requests-toolbelt @ file:///C:/Users/dev-admin/perseverance-python-buildout/croot/requests-toolbelt_1699475466775/work -rfc3339-validator @ file:///C:/Users/dev-admin/perseverance-python-buildout/croot/rfc3339-validator_1699543924991/work -rfc3986-validator @ file:///C:/Users/dev-admin/perseverance-python-buildout/croot/rfc3986-validator_1699543955651/work -rich @ file:///C:/b/abs_21nw9z7xby/croot/rich_1720637504376/work -rope @ file:///C:/b/abs_a4uy0nuc8z/croot/rope_1708963217026/work -rpds-py @ file:///C:/Users/dev-admin/perseverance-python-buildout/croot/rpds-py_1699565648947/work -Rtree @ file:///C:/Users/dev-admin/perseverance-python-buildout/croot/rtree_1699565751755/work -ruamel-yaml-conda @ file:///C:/Users/dev-admin/perseverance-python-buildout/croot/ruamel_yaml_1699543990032/work -ruamel.yaml @ file:///C:/b/abs_0cunwx_ww6/croot/ruamel.yaml_1727980181547/work -ruamel.yaml.clib @ file:///C:/b/abs_5fk8zi6n09/croot/ruamel.yaml.clib_1727769837359/work -s3fs @ file:///C:/b/abs_ddtjx92ddb/croot/s3fs_1724924140381/work -scikit-image @ file:///C:/b/abs_85dh_ywewv/croot/scikit-image_1726762076100/work -scikit-learn @ file:///C:/b/abs_aajc9f7v6r/croot/scikit-learn_1722067652693/work/dist/scikit_learn-1.5.1-cp312-cp312-win_amd64.whl#sha256=96ed6defb86c154d2ff360afdbf0c37c33c4c729d4a15c9d8ada0b70fd817816 -scipy @ file:///C:/b/abs_efv75hqhju/croot/scipy_1717521501389/work/dist/scipy-1.13.1-cp312-cp312-win_amd64.whl#sha256=b29dba691773ea983857b31cad894f31623348583937b6f03783facfd7abc734 -Scrapy @ file:///C:/b/abs_b407wrcuij/croot/scrapy_1708714755460/work -seaborn @ file:///C:/b/abs_ca2mi1rgmn/croot/seaborn_1718303534355/work -semver @ file:///C:/b/abs_4bkbn3v6jp/croot/semver_1709243682483/work -Send2Trash @ file:///C:/Users/dev-admin/perseverance-python-buildout/croot/send2trash_1701806400767/work -service-identity @ file:///Users/ktietz/demo/mc3/conda-bld/service_identity_1629460757137/work -setuptools==75.1.0 -sip @ file:///C:/Users/dev-admin/perseverance-python-buildout/croot/sip_1699475590677/work -six @ file:///tmp/build/80754af9/six_1644875935023/work -smart-open @ file:///C:/Users/dev-admin/perseverance-python-buildout/croot/smart_open_1699483216058/work -smmap @ file:///tmp/build/80754af9/smmap_1611694433573/work -sniffio @ file:///C:/b/abs_3akdewudo_/croot/sniffio_1705431337396/work -snowballstemmer @ file:///tmp/build/80754af9/snowballstemmer_1637937080595/work -sortedcontainers @ file:///tmp/build/80754af9/sortedcontainers_1623949099177/work -soupsieve @ file:///C:/Users/dev-admin/perseverance-python-buildout/croot/soupsieve_1699496611169/work -Sphinx @ file:///C:/b/abs_67j2y1kkd0/croot/sphinx_1718275396111/work -sphinxcontrib-applehelp @ file:///home/ktietz/src/ci/sphinxcontrib-applehelp_1611920841464/work -sphinxcontrib-devhelp @ file:///home/ktietz/src/ci/sphinxcontrib-devhelp_1611920923094/work -sphinxcontrib-htmlhelp @ file:///tmp/build/80754af9/sphinxcontrib-htmlhelp_1623945626792/work -sphinxcontrib-jsmath @ file:///home/ktietz/src/ci/sphinxcontrib-jsmath_1611920942228/work -sphinxcontrib-qthelp @ file:///home/ktietz/src/ci/sphinxcontrib-qthelp_1611921055322/work -sphinxcontrib-serializinghtml @ file:///C:/b/abs_91266tdnkr/croot/sphinxcontrib-serializinghtml_1718201501959/work -spyder @ file:///C:/b/abs_2f04kjngiv/croot/spyder_1727197291220/work -spyder-kernels @ file:///C:/b/abs_e5u6y4ldr2/croot/spyder-kernels_1707937767956/work -SQLAlchemy @ file:///C:/b/abs_7duxw5rxx8/croot/sqlalchemy_1725885067126/work -sqlparse==0.5.3 -stack-data @ file:///opt/conda/conda-bld/stack_data_1646927590127/work -starlette==0.46.2 -statsmodels @ file:///C:/b/abs_54b33xdukx/croot/statsmodels_1718381209933/work -streamlit @ file:///C:/b/abs_84p_54gim8/croot/streamlit_1724335176234/work -sympy @ file:///C:/b/abs_4e4p71hdj_/croot/sympy_1724938208509/work -tables @ file:///C:/b/abs_92un5wtnqq/croot/pytables_1725380800658/work -tabulate @ file:///C:/Users/dev-admin/perseverance-python-buildout/croot/tabulate_1701812852133/work -tblib @ file:///Users/ktietz/demo/mc3/conda-bld/tblib_1629402031467/work -tenacity @ file:///C:/b/abs_d2_havtscu/croot/tenacity_1721222514290/work -terminado @ file:///C:/Users/dev-admin/perseverance-python-buildout/croot/terminado_1699545066607/work -text-unidecode @ file:///Users/ktietz/demo/mc3/conda-bld/text-unidecode_1629401354553/work -textdistance @ file:///tmp/build/80754af9/textdistance_1612461398012/work -threadpoolctl @ file:///C:/b/abs_def0dwqlft/croot/threadpoolctl_1719407816649/work -three-merge @ file:///tmp/build/80754af9/three-merge_1607553261110/work -tifffile @ file:///C:/Users/dev-admin/perseverance-python-buildout/croot/tifffile_1699496794322/work -tinycss2 @ file:///C:/Users/dev-admin/perseverance-python-buildout/croot/tinycss2_1699545185754/work -tldextract @ file:///C:/b/abs_34gknp7o18/croot/tldextract_1723064394448/work -toml @ file:///tmp/build/80754af9/toml_1616166611790/work -tomli @ file:///C:/Users/dev-admin/perseverance-python-buildout/croot/tomli_1699472528897/work -tomlkit @ file:///C:/Users/dev-admin/perseverance-python-buildout/croot/tomlkit_1699475633229/work -toolz @ file:///C:/Users/dev-admin/perseverance-python-buildout/croot/toolz_1699474617784/work -tornado @ file:///C:/b/abs_7bua0304mj/croot/tornado_1718740122405/work -tqdm @ file:///C:/b/abs_77wju137gk/croot/tqdm_1724853945787/work -traitlets @ file:///C:/b/abs_bfsnoxl4pq/croot/traitlets_1718227069245/work -truststore @ file:///C:/Users/dev-admin/perseverance-python-buildout/croot/truststore_1701881385424/work -Twisted @ file:///C:/b/abs_e7yqd811in/croot/twisted_1708702883769/work -twisted-iocpsupport @ file:///C:/Users/dev-admin/perseverance-python-buildout/croot/twisted-iocpsupport_1699496891011/work -typing_extensions @ file:///C:/b/abs_0as9mdbkfl/croot/typing_extensions_1715268906610/work -tzdata @ file:///croot/python-tzdata_1690578112552/work -uc-micro-py @ file:///C:/Users/dev-admin/perseverance-python-buildout/croot/uc-micro-py_1699545612984/work -ujson @ file:///C:/b/abs_c93a278xy4/croot/ujson_1717598062082/work -unicodedata2 @ file:///C:/b/abs_b6apldlg7y/croot/unicodedata2_1713212998255/work -Unidecode @ file:///C:/b/abs_4cczv71djp/croot/unidecode_1724790062151/work -urllib3 @ file:///C:/b/abs_9a_f8h_bn2/croot/urllib3_1727769836930/work uvicorn==0.34.2 -virtualenv==20.31.2 -virtualenvwrapper-win==1.2.7 -w3lib @ file:///C:/Users/dev-admin/perseverance-python-buildout/croot/w3lib_1709162573908/work -watchdog @ file:///C:/b/abs_b3l_3s276z/croot/watchdog_1717166538403/work -wcwidth @ file:///Users/ktietz/demo/mc3/conda-bld/wcwidth_1629357192024/work -webencodings @ file:///C:/Users/dev-admin/perseverance-python-buildout/croot/webencodings_1699497069416/work -websocket-client @ file:///C:/b/abs_5dmnxxoci9/croot/websocket-client_1715878351319/work -Werkzeug @ file:///C:/b/abs_8bittcw9jr/croot/werkzeug_1716533366070/work -whatthepatch @ file:///C:/Users/dev-admin/perseverance-python-buildout/croot/whatthepatch_1699497134590/work -wheel==0.44.0 -widgetsnbextension @ file:///C:/b/abs_538o2crz7f/croot/widgetsnbextension_1710960099872/work -win-inet-pton @ file:///C:/Users/dev-admin/perseverance-python-buildout/croot/win_inet_pton_1699472992992/work -wrapt @ file:///C:/Users/dev-admin/perseverance-python-buildout/croot/wrapt_1699480231633/work -xarray @ file:///C:/Users/dev-admin/perseverance-python-buildout/croot/xarray_1699480274069/work +Django==5.2.1 +Flask-cors==6.0.1 +mysql-connector-python==9.4.0 +sqlparse==0.5.3 +numpy==1.26.4 +opencv-python==4.12.0.88 +pyzbar==0.1.9 +lxml==5.2.1 +matplotlib==3.9.2 +pygame==2.6.1 +PyQt5==5.15.10 xlsxwriter==3.2.5 -xlwings @ file:///C:/b/abs_bc7ro1xk70/croot/xlwings_1725400109105/work -xyzservices @ file:///C:/Users/dev-admin/perseverance-python-buildout/croot/xyzservices_1699548906163/work -yapf @ file:///C:/b/abs_8aidayep18/croot/yapf_1708964372649/work -yarl @ file:///C:/b/abs_00rcuicx5k/croot/yarl_1726015884215/work -zict @ file:///C:/Users/dev-admin/perseverance-python-buildout/croot/zict_1699548979005/work -zipp @ file:///C:/Users/dev-admin/perseverance-python-buildout/croot/zipp_1707493775475/work -zope.interface @ file:///C:/Users/dev-admin/perseverance-python-buildout/croot/zope.interface_1699497164709/work -zstandard @ file:///C:/b/abs_82dff2ths3/croot/zstandard_1728569207191/work +protobuf==4.25.3 diff --git a/update_table.py b/update_table.py deleted file mode 100644 index ef6117d..0000000 --- a/update_table.py +++ /dev/null @@ -1,35 +0,0 @@ -import mysql.connector - -# Database connection details from the user's file -config = { - 'user': 'A027', - 'password': 'E1CelfxqlKoj', - 'host': 'mysql.theaken.com', - 'port': 33306, - 'database': 'db_A027' -} - -try: - # Connect to the database - cnx = mysql.connector.connect(**config) - cursor = cnx.cursor() - - # SQL statement to modify the column - alter_table_query = "ALTER TABLE orders MODIFY COLUMN main_course VARCHAR(255)" - - # Execute the query - cursor.execute(alter_table_query) - - # Commit the changes - cnx.commit() - - print("資料表修改成功!") - -except mysql.connector.Error as err: - print(f"資料庫錯誤: {err}") -finally: - # Close the connection - if 'cursor' in locals() and cursor: - cursor.close() - if 'cnx' in locals() and cnx.is_connected(): - cnx.close() \ No newline at end of file diff --git a/update_table.txt b/update_table.txt deleted file mode 100644 index d321d48..0000000 --- a/update_table.txt +++ /dev/null @@ -1,14 +0,0 @@ -請根據以下需求幫我產生一段 Python 程式碼,能夠連線到資料庫並在orders的資料表修改欄位main_course型態為varchar(255) - -資料庫資訊: -DB_HOST = mysql.theaken.com -DB_PORT = 33306 -DB_NAME = db_A027 -DB_USER = A027 -DB_PASSWORD = E1CelfxqlKoj - -需求: -1. 使用 mysql.connector 套件 -2. 資料表在orders 幫我修改 - - main_course : 主餐點名稱(varchar(255)) -3. 執行成功後,印出「資料表修改成功!」。