dataflow-conda-plugin 0.1.7rc3__py3-none-any.whl → 0.1.9rc1__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 dataflow-conda-plugin might be problematic. Click here for more details.

@@ -1,3 +1,3 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dataflow-conda-plugin
3
- Version: 0.1.7rc3
3
+ Version: 0.1.9rc1
@@ -0,0 +1,8 @@
1
+ plugin/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
+ plugin/plugin.py,sha256=MR7sLR5JZ0hVKabzwHGFdnaGoWbw4mj1k-twgtgadw8,7581
3
+ plugin/scripts/install_dataflow_deps.sh,sha256=ZuK719wjMpkIwd2XHvl-Us9JVJp0H63W8SyU-HrJ86w,1282
4
+ dataflow_conda_plugin-0.1.9rc1.dist-info/METADATA,sha256=kVY3CLlUCV6a8pCPWbJ2yuNfMRh4A2J9ngkN2SMiG-M,68
5
+ dataflow_conda_plugin-0.1.9rc1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
6
+ dataflow_conda_plugin-0.1.9rc1.dist-info/entry_points.txt,sha256=Vk2GKuQjr-5WV4NDKyPsnF37p3LUoAgPYOSMHxnpac8,46
7
+ dataflow_conda_plugin-0.1.9rc1.dist-info/top_level.txt,sha256=Io_dflkI6h0vZSGOzZxx4e76CDTSANVfu4v4tVY6zsA,7
8
+ dataflow_conda_plugin-0.1.9rc1.dist-info/RECORD,,
plugin/plugin.py CHANGED
@@ -1,4 +1,4 @@
1
- import subprocess, sys, pkg_resources, os, requests
1
+ import subprocess, sys, pkg_resources, os, requests, re, sys
2
2
  from conda import plugins
3
3
  from conda.base.context import context
4
4
  from dataflow.utils.logger import CustomLogger
@@ -46,6 +46,8 @@ def install_deps(command: str):
46
46
  """Install dataflow dependencies."""
47
47
  target_prefix = context.target_prefix
48
48
  args = context._argparse_args
49
+ python_version = args.get("python")
50
+ print(f"Installing Dataflow dependencies in the environment with Python version: {python_version}")
49
51
  env_name = os.path.basename(target_prefix) if target_prefix else None
50
52
 
51
53
  should_save_to_db = is_local_environment(target_prefix) and env_name
@@ -149,6 +151,25 @@ def package_operations(command: str):
149
151
  if should_update_db:
150
152
  mark_environment_for_refresh(env_name)
151
153
 
154
+ def set_pip_constraint(command: str):
155
+ """Set PIP_CONSTRAINT environment variable based on Python version."""
156
+ if "NO_CONDA_PLUGIN_PIP_CONSTRAINT" in os.environ:
157
+ return
158
+ for arg in sys.argv:
159
+ if arg.startswith("python"):
160
+ # Match python=3.10, python=3.10.1, python=3.11, python=3.11.5, etc.
161
+ match = re.fullmatch(r"python=(3\.10(\.\d+)?|3\.11(\.\d+)?|3\.12(\.\d+)?)", arg)
162
+ if not match:
163
+ raise ValueError(f"Invalid argument: {arg}! Only Python 3.10, 3.11, and 3.12 are supported.")
164
+ version = match.group(1)
165
+ major_minor = ".".join(version.split(".")[:2])
166
+ break
167
+ else:
168
+ major_minor = "3.12"
169
+ # Set PIP_CONSTRAINT environment variable to the appropriate constraint file
170
+ os.environ["PIP_CONSTRAINT"] = f"/dataflow/tmp/pip_constraints/py{major_minor}-constraints.txt"
171
+
172
+
152
173
  @plugins.hookimpl
153
174
  def conda_post_commands():
154
175
  yield plugins.CondaPostCommand(
@@ -160,4 +181,12 @@ def conda_post_commands():
160
181
  name=f"package_operations_post_command",
161
182
  action=package_operations,
162
183
  run_for={"install", "remove", "update"},
184
+ )
185
+
186
+ @plugins.hookimpl
187
+ def conda_pre_commands():
188
+ yield plugins.CondaPreCommand(
189
+ name="set_pip_constraint",
190
+ action=set_pip_constraint,
191
+ run_for={"create"},
163
192
  )
@@ -5,13 +5,13 @@ conda_env_path=$1
5
5
  py_version=$(${conda_env_path}/bin/python -c "import sys; print('.'.join(map(str, sys.version_info[:2])))")
6
6
 
7
7
  # make sure to install dataflow deps from pypi only
8
- ${conda_env_path}/bin/pip install --index-url https://pypi.org/simple/ dash==3.0.3 dash-renderer==1.9.1 plotly==6.0.1 typing==3.7.4.3 streamlit==1.45.1 ipython==9.2.0 ipykernel==6.29.5 ipython-sql==0.4.1 jupysql==0.10.14 psycopg2-binary==2.9.10 cryptography==44.0.3 dataflow-core==2.1.15rc3 dataflow-dbt==0.0.3
8
+ ${conda_env_path}/bin/pip install --index-url https://pypi.org/simple/ dash==3.0.3 dash-renderer==1.9.1 plotly==6.0.1 typing==3.7.4.3 streamlit==1.45.1 ipython==8.37.0 ipykernel==6.29.5 ipython-sql==0.4.1 jupysql==0.10.14 psycopg2-binary==2.9.10 dataflow-core==2.1.15rc3 dataflow-dbt==0.0.3
9
9
 
10
10
  # 3. Install Dataflow Airflow to a separate path in environment
11
11
  ${conda_env_path}/bin/pip install \
12
12
  --force-reinstall --root-user-action ignore \
13
13
  --no-warn-conflicts dataflow-airflow==2.10.7 \
14
- --constraint https://raw.githubusercontent.com/apache/airflow/constraints-2.10.5/constraints-${py_version}.txt \
14
+ --constraint /dataflow/setup/pip_constraints/airflow_constraints${py_version}.txt \
15
15
  --target ${conda_env_path}/bin/airflow-libraries/
16
16
 
17
17
  files=(
@@ -1,8 +0,0 @@
1
- plugin/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
- plugin/plugin.py,sha256=ehGg1wEvqiEZFXwhvp8Jc4p5e0senirTd-aUNg74T5I,6352
3
- plugin/scripts/install_dataflow_deps.sh,sha256=oeCw1kD-okNZyjD5fJ2pOJV6a0SphVMYTxbk2zHx2as,1331
4
- dataflow_conda_plugin-0.1.7rc3.dist-info/METADATA,sha256=I6nQLgw6Be2aTeexSlrY-tbhjsC-jp4VtttEquSvUOc,68
5
- dataflow_conda_plugin-0.1.7rc3.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
6
- dataflow_conda_plugin-0.1.7rc3.dist-info/entry_points.txt,sha256=Vk2GKuQjr-5WV4NDKyPsnF37p3LUoAgPYOSMHxnpac8,46
7
- dataflow_conda_plugin-0.1.7rc3.dist-info/top_level.txt,sha256=Io_dflkI6h0vZSGOzZxx4e76CDTSANVfu4v4tVY6zsA,7
8
- dataflow_conda_plugin-0.1.7rc3.dist-info/RECORD,,