velocity-python 0.0.87__py3-none-any.whl → 0.0.89__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of velocity-python might be problematic. Click here for more details.

velocity/__init__.py CHANGED
@@ -1,4 +1,4 @@
1
- __version__ = version = "0.0.87"
1
+ __version__ = version = "0.0.89"
2
2
 
3
3
  from . import aws
4
4
  from . import db
velocity/aws/amplify.py CHANGED
@@ -325,7 +325,6 @@ class AmplifyProject:
325
325
  "ec2:AttachNetworkInterface",
326
326
  "ec2:DescribeNetworkInterfaces",
327
327
  "ec2:DeleteNetworkInterface",
328
- "autoscaling:CompleteLifecycleAction",
329
328
  "cognito-idp:*",
330
329
  ],
331
330
  }
@@ -56,18 +56,12 @@ class Engine:
56
56
  config = self.config.copy()
57
57
  if timeout_key not in config:
58
58
  config[timeout_key] = timeout_val
59
- logger.info(
60
- "Connecting to %s with dict config: %s", self.sql.server, config
61
- )
62
59
  return self.driver.connect(**config)
63
60
 
64
61
  elif isinstance(self.config, str):
65
62
  conn_str = self.config
66
63
  if timeout_key not in conn_str:
67
64
  conn_str += f" {timeout_key}={timeout_val}"
68
- logger.info(
69
- "Connecting to %s with str config: %s", self.sql.server, conn_str
70
- )
71
65
  return self.driver.connect(conn_str)
72
66
 
73
67
  elif isinstance(self.config, (tuple, list)):
@@ -77,12 +71,6 @@ class Engine:
77
71
  config_args[-1][timeout_key] = timeout_val
78
72
  else:
79
73
  config_args.append({timeout_key: timeout_val})
80
-
81
- logger.info(
82
- "Connecting to %s with tuple/list config (with timeout): %s",
83
- self.sql.server,
84
- config_args,
85
- )
86
74
  return self.driver.connect(*config_args)
87
75
 
88
76
  else:
@@ -246,9 +246,15 @@ class TableHelper:
246
246
 
247
247
  # Lists / tuples => IN / NOT IN
248
248
  if isinstance(val, (list, tuple)) and "><" not in key:
249
+ # Convert to tuple for better PostgreSQL parameter handling
250
+ val_tuple = tuple(val)
251
+ # Use IN/NOT IN instead of ANY for better type compatibility
249
252
  if "!" in key:
250
- return f"{column} != ANY(%s)", list(val)
251
- return f"{column} = ANY(%s)", list(val)
253
+ placeholders = ",".join(["%s"] * len(val_tuple))
254
+ return f"{column} NOT IN ({placeholders})", val_tuple
255
+ else:
256
+ placeholders = ",".join(["%s"] * len(val_tuple))
257
+ return f"{column} IN ({placeholders})", val_tuple
252
258
 
253
259
  # "@@" => pass as literal
254
260
  if isinstance(val, str) and val.startswith("@@") and val[2:]:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: velocity-python
3
- Version: 0.0.87
3
+ Version: 0.0.89
4
4
  Summary: A rapid application development library for interfacing with data storage
5
5
  Author-email: Paul Perez <pperez@codeclubs.org>
6
6
  Project-URL: Homepage, https://codeclubs.org/projects/velocity
@@ -1,11 +1,11 @@
1
- velocity/__init__.py,sha256=ADiytoslPLwfK6AsSoQz6OBcwmKeojL4CaG-8UVv7Pc,106
1
+ velocity/__init__.py,sha256=eeZsYrccdbfc9oqIw9cgzKD9hVgz7vR-gJYLQvOBt9Y,106
2
2
  velocity/app/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3
3
  velocity/app/invoices.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
4
  velocity/app/orders.py,sha256=W-HAXEwY8-IFXbKh82HnMeRVZM7P-TWGEQOWtkLIzI4,6298
5
5
  velocity/app/payments.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
6
6
  velocity/app/purchase_orders.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
7
7
  velocity/aws/__init__.py,sha256=tj9-NliYxRVPYLnnDuA4FMwBHbbH4ed8gtHgwRskNgY,647
8
- velocity/aws/amplify.py,sha256=PkFVmskwhm-ajAiwGg0QnSKlg1b_55d9WLdF-3-70aE,15102
8
+ velocity/aws/amplify.py,sha256=3W0o1eOzypLzzMezPRlGISyoGtc-anbMs9p9nVphHGc,15047
9
9
  velocity/aws/handlers/__init__.py,sha256=xnpFZJVlC2uoeeFW4zuPST8wA8ajaQDky5Y6iXZzi3A,172
10
10
  velocity/aws/handlers/context.py,sha256=UIjNR83y2NSIyK8HMPX8t5tpJHFNabiZvNgmmdQL3HA,1822
11
11
  velocity/aws/handlers/lambda_handler.py,sha256=0KrT6UIxDILzBRpoRSvwDgHpQ-vWfubcZFOCbJsewDc,6516
@@ -16,7 +16,7 @@ velocity/db/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,
16
16
  velocity/db/core/column.py,sha256=tAr8tL3a2nyaYpNHhGl508FrY_pGZTzyYgjAV5CEBv4,4092
17
17
  velocity/db/core/database.py,sha256=3zNGItklu9tZCKsbx2T2vCcU1so8AL9PPL0DLjvaz6s,3554
18
18
  velocity/db/core/decorators.py,sha256=76Jkr9XptXt8cvcgp1zbHfuL8uHzWy8lwfR29u-DVu4,4574
19
- velocity/db/core/engine.py,sha256=bDUBlUf_X897hU4Qgwd7mAm8lIoruu1CoC4LNKWK5Xc,15130
19
+ velocity/db/core/engine.py,sha256=3POukyvvtGVTwEGx4vsAInWw_WGGsqMdBFozoPUnIi0,14665
20
20
  velocity/db/core/exceptions.py,sha256=MOWyA1mlMe8eWbFkEHK0Lp9czdplpRyqbAn2JfGmMrM,707
21
21
  velocity/db/core/result.py,sha256=OVqoMwlx3CHNNwr-JGWRx5I8u_YX6hlUpecx99UT5nE,6164
22
22
  velocity/db/core/row.py,sha256=aliLYTTFirgJsOvmUsANwJMyxaATuhpGpFJhcu_twwY,6709
@@ -30,7 +30,7 @@ velocity/db/servers/sqlite.py,sha256=X210a5pENT9PiVK7f16fxXzFwEsq8fSe58Vouv2xqlk
30
30
  velocity/db/servers/sqlite_reserved.py,sha256=-xmjl-Hgu6lKqkCAXq_6U8_aJX6gvaMgLMLdCt-Ej7o,3006
31
31
  velocity/db/servers/sqlserver.py,sha256=0uGLEWRXiUhrOVTpEA1zvaKq1mcfiaCDp9r7gX-N71g,29914
32
32
  velocity/db/servers/sqlserver_reserved.py,sha256=3LGQYU0qfvk6AbKety96gbzzfLbZ0dNHDPLxKGvvi4Q,4596
33
- velocity/db/servers/tablehelper.py,sha256=t_4Z0j3NT26dCe88ydAskipMoaQyrhgyrs_3hmQ6tDU,11161
33
+ velocity/db/servers/tablehelper.py,sha256=njGGwUovioQ9sKB6O-L8OWIuSaHgdJ-EDeokEf5zY2c,11516
34
34
  velocity/db/servers/postgres/__init__.py,sha256=Z0zJib46hz1zfEAMG0rQBlJ6lp47LW7t0_63xMS0zrI,528
35
35
  velocity/db/servers/postgres/operators.py,sha256=A2T1qFwhzPl0fdXVhLZJhh5Qfx-qF8oZsDnxnq2n_V8,389
36
36
  velocity/db/servers/postgres/reserved.py,sha256=5tKLaqFV-HrWRj-nsrxl5KGbmeM3ukn_bPZK36XEu8M,3648
@@ -47,8 +47,8 @@ velocity/misc/tools.py,sha256=_bGneHHA_BV-kUonzw5H3hdJ5AOJRCKfzhgpkFbGqIo,1502
47
47
  velocity/misc/conv/__init__.py,sha256=MLYF58QHjzfDSxb1rdnmLnuEQCa3gnhzzZ30CwZVvQo,40
48
48
  velocity/misc/conv/iconv.py,sha256=d4_BucW8HTIkGNurJ7GWrtuptqUf-9t79ObzjJ5N76U,10603
49
49
  velocity/misc/conv/oconv.py,sha256=h5Lo05DqOQnxoD3y6Px_MQP_V-pBbWf8Hkgkb9Xp1jk,6032
50
- velocity_python-0.0.87.dist-info/licenses/LICENSE,sha256=aoN245GG8s9oRUU89KNiGTU4_4OtnNmVi4hQeChg6rM,1076
51
- velocity_python-0.0.87.dist-info/METADATA,sha256=MDcMH8szrQ4QLhGLftamZ1ALZFir0nstf6k5o_wtLzk,8586
52
- velocity_python-0.0.87.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
53
- velocity_python-0.0.87.dist-info/top_level.txt,sha256=JW2vJPmodgdgSz7H6yoZvnxF8S3fTMIv-YJWCT1sNW0,9
54
- velocity_python-0.0.87.dist-info/RECORD,,
50
+ velocity_python-0.0.89.dist-info/licenses/LICENSE,sha256=aoN245GG8s9oRUU89KNiGTU4_4OtnNmVi4hQeChg6rM,1076
51
+ velocity_python-0.0.89.dist-info/METADATA,sha256=SV3lG6P-Urgr3tDgPhQZlJjFhCcij3Uv9JaBhg9l68I,8586
52
+ velocity_python-0.0.89.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
53
+ velocity_python-0.0.89.dist-info/top_level.txt,sha256=JW2vJPmodgdgSz7H6yoZvnxF8S3fTMIv-YJWCT1sNW0,9
54
+ velocity_python-0.0.89.dist-info/RECORD,,