py-rattler 0.14.0__cp38-abi3-musllinux_1_2_i686.whl → 0.15.0__cp38-abi3-musllinux_1_2_i686.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 py-rattler might be problematic. Click here for more details.
- {py_rattler-0.14.0.dist-info → py_rattler-0.15.0.dist-info}/METADATA +78 -9
- {py_rattler-0.14.0.dist-info → py_rattler-0.15.0.dist-info}/RECORD +49 -49
- rattler/index/index.py +2 -2
- rattler/match_spec/nameless_match_spec.py +2 -3
- rattler/networking/client.py +2 -1
- rattler/rattler.abi3.so +0 -0
- rattler/repo_data/gateway.py +1 -1
- {py_rattler-0.14.0.dist-info → py_rattler-0.15.0.dist-info}/WHEEL +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: py-rattler
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.15.0
|
|
4
4
|
Classifier: Development Status :: 3 - Alpha
|
|
5
5
|
Classifier: Intended Audience :: Developers
|
|
6
6
|
Classifier: License :: OSI Approved :: BSD License
|
|
@@ -52,7 +52,7 @@ Rattler is a library that provides common functionality used within the conda ec
|
|
|
52
52
|
The goal of the library is to enable programs and other libraries to easily interact with the conda ecosystem without being dependent on Python.
|
|
53
53
|
Its primary use case is as a library that you can use to provide conda related workflows in your own tools.
|
|
54
54
|
|
|
55
|
-
Rattler is written in Rust and tries to provide a clean API to its functionalities (see: [Components](#components)).
|
|
55
|
+
Rattler is written in Rust and tries to provide a clean API to its functionalities (see: [Components](#components)).
|
|
56
56
|
With the primary goal in mind we aim to provide bindings to different languages to make it easy to integrate Rattler in non-rust projects.
|
|
57
57
|
|
|
58
58
|
Rattler is actively used by [pixi](https://github.com/prefix-dev/pixi), [rattler-build](https://github.com/prefix-dev/rattler-build), and the https://prefix.dev backend.
|
|
@@ -64,6 +64,75 @@ This is an example of installing an environment containing `cowpy` and all its d
|
|
|
64
64
|
|
|
65
65
|

|
|
66
66
|
|
|
67
|
+
## Python and Javascript bindings
|
|
68
|
+
|
|
69
|
+
You can invoke `rattler` from Python or Javascript via our powerful bindings to solve, install and run commands in conda environments. Rattler offers you the fastest and cleanest Python bindings to the conda ecosystem.
|
|
70
|
+
|
|
71
|
+
### Python
|
|
72
|
+
|
|
73
|
+
To install the Python bindings, you can use pip or conda:
|
|
74
|
+
|
|
75
|
+
```bash
|
|
76
|
+
pip install py-rattler
|
|
77
|
+
# or
|
|
78
|
+
conda install -c conda-forge py-rattler
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
You can find the extensive documentation for the Python bindings [here](https://conda.github.io/rattler/py-rattler/).
|
|
82
|
+
|
|
83
|
+
<details>
|
|
84
|
+
<summary>Example usage of rattler from Python</summary>
|
|
85
|
+
The Python bindings to rattler are designed to be used with `asyncio`. You can access the raw power of the rattler library to solve environments, install packages, and run commands in the installed environments.
|
|
86
|
+
|
|
87
|
+
```python
|
|
88
|
+
import asyncio
|
|
89
|
+
import tempfile
|
|
90
|
+
|
|
91
|
+
from rattler import solve, install, VirtualPackage
|
|
92
|
+
|
|
93
|
+
async def main() -> None:
|
|
94
|
+
# Start by solving the environment.
|
|
95
|
+
#
|
|
96
|
+
# Solving is the process of going from specifications of package and their
|
|
97
|
+
# version requirements to a list of concrete packages.
|
|
98
|
+
print("started solving the environment")
|
|
99
|
+
solved_records = await solve(
|
|
100
|
+
# Channels to use for solving
|
|
101
|
+
channels=["conda-forge"],
|
|
102
|
+
# The specs to solve for
|
|
103
|
+
specs=["python ~=3.12.0", "pip", "requests 2.31.0"],
|
|
104
|
+
# Virtual packages define the specifications of the environment
|
|
105
|
+
virtual_packages=VirtualPackage.detect(),
|
|
106
|
+
)
|
|
107
|
+
print("solved required dependencies")
|
|
108
|
+
|
|
109
|
+
# Install the packages into a new environment (or updates it if it already
|
|
110
|
+
# existed).
|
|
111
|
+
env_path = tempfile.mkdtemp()
|
|
112
|
+
await install(
|
|
113
|
+
records=solved_records,
|
|
114
|
+
target_prefix=env_path,
|
|
115
|
+
)
|
|
116
|
+
|
|
117
|
+
print(f"created environment: {env_path}")
|
|
118
|
+
|
|
119
|
+
|
|
120
|
+
if __name__ == "__main__":
|
|
121
|
+
asyncio.run(main())
|
|
122
|
+
```
|
|
123
|
+
</details>
|
|
124
|
+
|
|
125
|
+
### Javascript
|
|
126
|
+
|
|
127
|
+
To use the Javascript bindings, you can install the `@conda-org/rattler` package via npm. rattler is compiled to WebAssembly and can be used in the browser or in Node.js.
|
|
128
|
+
|
|
129
|
+
```bash
|
|
130
|
+
npm install @conda-org/rattler
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
Using rattler from Javascript is useful to get access to the same version comparison functions as used throughout the conda ecosystem. It is also used as part of [`mambajs`](https://github.com/emscripten-forge/mambajs) which uses the rattler library to solve and install packages from the emscripten-forge channel _in the browser_.
|
|
134
|
+
|
|
135
|
+
|
|
67
136
|
## Give it a try!
|
|
68
137
|
|
|
69
138
|
Before you begin, make sure you have the following prerequisites:
|
|
@@ -93,24 +162,24 @@ Run the following command to start jupyterlab:
|
|
|
93
162
|
./.prefix/bin/jupyter-lab
|
|
94
163
|
```
|
|
95
164
|
|
|
96
|
-
Voila!
|
|
97
|
-
You have a working installation of jupyterlab installed on your system!
|
|
98
|
-
You can of course install any package you want this way.
|
|
165
|
+
Voila!
|
|
166
|
+
You have a working installation of jupyterlab installed on your system!
|
|
167
|
+
You can of course install any package you want this way.
|
|
99
168
|
Try it!
|
|
100
169
|
|
|
101
170
|
## Contributing 😍
|
|
102
171
|
|
|
103
|
-
We would love to have you contribute!
|
|
104
|
-
See the CONTRIBUTION.md for more info. For questions, requests or a casual chat, we are very active on our discord server.
|
|
172
|
+
We would love to have you contribute!
|
|
173
|
+
See the CONTRIBUTION.md for more info. For questions, requests or a casual chat, we are very active on our discord server.
|
|
105
174
|
You can [join our discord server via this link][chat-url].
|
|
106
175
|
|
|
107
176
|
|
|
108
177
|
## Components
|
|
109
178
|
|
|
110
|
-
Rattler consists of several crates that provide different functionalities.
|
|
179
|
+
Rattler consists of several crates that provide different functionalities.
|
|
111
180
|
|
|
112
181
|
* **rattler_conda_types**: foundational types for all datastructures used within the conda eco-system.
|
|
113
|
-
* **rattler_package_streaming**: provides functionality to download, extract and create conda package archives.
|
|
182
|
+
* **rattler_package_streaming**: provides functionality to download, extract and create conda package archives.
|
|
114
183
|
* **rattler_repodata_gateway**: downloads, reads and processes information about existing conda packages from an index.
|
|
115
184
|
* **rattler_shell**: code to activate an existing environment and run programs in it.
|
|
116
185
|
* **rattler_solve**: a backend agnostic library to solve the package satisfiability problem.
|
|
@@ -1,63 +1,63 @@
|
|
|
1
|
-
py_rattler-0.
|
|
2
|
-
py_rattler-0.
|
|
1
|
+
py_rattler-0.15.0.dist-info/METADATA,sha256=RdzX-xtkcRqxw7G_HH96VvtW6DtiRaKxviuOY-_kzbs,10328
|
|
2
|
+
py_rattler-0.15.0.dist-info/WHEEL,sha256=TF4Hbc7b0n-0MnrD7Prg_w5CWV350-TuiCKt6PtMAX8,103
|
|
3
3
|
rattler.libs/libgcc_s-b5472b99.so.1,sha256=wh8CpjXz9IccAyeERcB7YDEx7NH2jF-PykwOyYNeRRI,453841
|
|
4
|
-
rattler/
|
|
5
|
-
rattler/
|
|
6
|
-
rattler/
|
|
7
|
-
rattler/explicit_environment/__init__.py,sha256=QHmwZkdVt-tFL-tEEdhLdH3apuI5F7ElpMzCRZeH3_o,170
|
|
4
|
+
rattler/exceptions.py,sha256=2ivs3zwllwQwn1InBiArbrZbTzPXpssv7fzZkGdRpnI,4059
|
|
5
|
+
rattler/shell/shell.py,sha256=n9bAb0YQpdiOB62nFUIuWDoAzXnKRi1Y-fHEW9wVIg4,4442
|
|
6
|
+
rattler/shell/__init__.py,sha256=GW5Amfmw7ln9l4kBBZCelaJxYBP5xbk5NjdNLMZhNMU,179
|
|
8
7
|
rattler/explicit_environment/environment.py,sha256=Dqcvm5c7C3K0FJ04YVN8WIUrl0R8Fe2TeXZ4Qq8Dg-0,2641
|
|
9
|
-
rattler/
|
|
10
|
-
rattler/
|
|
11
|
-
rattler/
|
|
8
|
+
rattler/explicit_environment/__init__.py,sha256=QHmwZkdVt-tFL-tEEdhLdH3apuI5F7ElpMzCRZeH3_o,170
|
|
9
|
+
rattler/version/version.py,sha256=06are6AdWAEDQafi5RrB8ORH87CcmtjcmpOaMhEwdn0,15973
|
|
10
|
+
rattler/version/__init__.py,sha256=FQ_4xuCz_2tTPlIeSA_1SkPEP_DpuXw6tDDjsptMTZo,146
|
|
11
|
+
rattler/version/with_source.py,sha256=nEW_jetdsB-5hKnxHVYgwOsd0EAe0fNKaCLlD4fIZiM,2539
|
|
12
|
+
rattler/lock/channel.py,sha256=PaLb-vWRLTJWUx7fyMdP2Tow5wMlGuq3WUrHkrQIzeg,1331
|
|
13
|
+
rattler/lock/package.py,sha256=C-lvnRWoRtj9CBRR2i5Eku_lFnBDI9Bf8vY57DWZ4YU,9035
|
|
14
|
+
rattler/lock/environment.py,sha256=sbcGqkb9rrGwpVCucDKkwdp2SFOyHZQGqvBArGEZFYs,7915
|
|
12
15
|
rattler/lock/lock_file.py,sha256=ZP-ElSJ7WKkqOE6rj4U6OmM63GLcDH_yTg1H_Qoa60E,3455
|
|
13
16
|
rattler/lock/__init__.py,sha256=JkighOKfDQBqX3xrw1NXYlA_j1IFNI47_s6p2XvFtQc,571
|
|
14
|
-
rattler/lock/package.py,sha256=C-lvnRWoRtj9CBRR2i5Eku_lFnBDI9Bf8vY57DWZ4YU,9035
|
|
15
17
|
rattler/lock/hash.py,sha256=qNig1sf5EfRfaCK9x352DgqTpLdo75Gu4qvRZDbL33Q,805
|
|
16
|
-
rattler/
|
|
17
|
-
rattler/
|
|
18
|
-
rattler/
|
|
19
|
-
rattler/
|
|
20
|
-
rattler/
|
|
21
|
-
rattler/platform/arch.py,sha256=7tanyDql5BvDvY9UryEXyTJ9nWRfx6bn7BWrl6fGEfI,1145
|
|
22
|
-
rattler/platform/__init__.py,sha256=YZaXxnJmG_WjYbhIAxA0jQDhaPYAR4rTVQCm4yRoyZQ,154
|
|
23
|
-
rattler/platform/platform.py,sha256=H_P35Z0irNiyQX2fxX7ombMkGwyYa-Ow_iDIDxJrmG8,4395
|
|
24
|
-
rattler/__init__.py,sha256=QKjBUll9mX4TVwJy-dy5Gt8IezLnJz8EPTlKhOsw2IA,2476
|
|
25
|
-
rattler/repo_data/gateway.py,sha256=EMit1hPVJdHOXHDaodORMfayz4P896xRy5A2ksV8TT0,10023
|
|
26
|
-
rattler/repo_data/sparse.py,sha256=qO3XuIfvcDEfo8mHu8UB9JBoz0IR3k_kNR32ZTpbPWU,12542
|
|
27
|
-
rattler/repo_data/package_record.py,sha256=t8vxRsfAToIolhBRjt9lB4e5Q7Tm-FjZHUI9vhxd-eA,28358
|
|
28
|
-
rattler/repo_data/__init__.py,sha256=cMoMtFOJBGonfWxizGphWpXdQ1GYXDXos7ESYigfco8,549
|
|
29
|
-
rattler/repo_data/repo_data.py,sha256=lB7hQ1SN5b2VxuOaOH1BOFeIXbRUf2fslitLyT5aVwo,2264
|
|
18
|
+
rattler/virtual_package/__init__.py,sha256=pOvvD-8V6Ld5gYBj2KPI3-cZLx8m2hcl6dqRUoBTHuw,262
|
|
19
|
+
rattler/virtual_package/generic.py,sha256=ztDVHLNbO2SemZSpdoa2SdoXcZT1hopvBFQ11fNBZmQ,4411
|
|
20
|
+
rattler/virtual_package/virtual_package.py,sha256=hrFvoT2LjIsW5ubfXdXEZnKlSIfLP5G4vrbJST9xukI,6707
|
|
21
|
+
rattler/solver/solver.py,sha256=EEF86vA-ryVuBmq5uOomgzPq1BGXsNcAhJvf7JKVVDQ,11259
|
|
22
|
+
rattler/solver/__init__.py,sha256=NZabrelb_pcqOi5PyZTr3OeBbjd85IqW1-2ymOBO-k0,119
|
|
30
23
|
rattler/repo_data/patch_instructions.py,sha256=TNa7NgLtqGQ6lSpibLFxuPFwsmqRLrORpDZOpeZ5fnk,694
|
|
31
24
|
rattler/repo_data/record.py,sha256=6CK2-KyvVZ8kaZ2l-o4DFWivxMJE_ChkOrm97bmIjn4,4572
|
|
32
|
-
rattler/
|
|
33
|
-
rattler/
|
|
34
|
-
rattler/
|
|
35
|
-
rattler/
|
|
36
|
-
rattler/py
|
|
37
|
-
rattler/
|
|
38
|
-
rattler/
|
|
39
|
-
rattler/
|
|
40
|
-
rattler/
|
|
25
|
+
rattler/repo_data/gateway.py,sha256=tK6XmTGbafZjvEo6_T8G-iYTu10MtJkAtg4fhtA9A60,10019
|
|
26
|
+
rattler/repo_data/__init__.py,sha256=cMoMtFOJBGonfWxizGphWpXdQ1GYXDXos7ESYigfco8,549
|
|
27
|
+
rattler/repo_data/package_record.py,sha256=t8vxRsfAToIolhBRjt9lB4e5Q7Tm-FjZHUI9vhxd-eA,28358
|
|
28
|
+
rattler/repo_data/sparse.py,sha256=qO3XuIfvcDEfo8mHu8UB9JBoz0IR3k_kNR32ZTpbPWU,12542
|
|
29
|
+
rattler/repo_data/repo_data.py,sha256=lB7hQ1SN5b2VxuOaOH1BOFeIXbRUf2fslitLyT5aVwo,2264
|
|
30
|
+
rattler/channel/channel.py,sha256=kGeZKa_YkSM943CA1i_8O1FXG9kS9hkrnmSl6OhkbbQ,2474
|
|
31
|
+
rattler/channel/channel_config.py,sha256=rRD4dGeHTBIcm3vTuQR1wTGTELNdN69yq4lyCaTaN3M,1532
|
|
32
|
+
rattler/channel/__init__.py,sha256=K-ZAo0qFzchXWP-6DpMHLg_djGD25-0CRwusisIGp8k,221
|
|
33
|
+
rattler/channel/channel_priority.py,sha256=OQfCHp_DeInkMB0YahCf2X7yCk0_RtM_C_Vy4Ny-65M,474
|
|
34
|
+
rattler/install/installer.py,sha256=akUuojDLiP5jcd1vbX__xLjBg2B46sFNSKk4RBYjvIc,3559
|
|
35
|
+
rattler/install/__init__.py,sha256=F_DwKOql1YkdV78JV5jT0RglNhs2ZwSup9uWGv9wO4I,69
|
|
36
|
+
rattler/package_streaming/__init__.py,sha256=I-mbr0sJnHzdFQP8v0Yb_GKpu4bIO3JbAJtq_wzA71Q,898
|
|
37
|
+
rattler/prefix/prefix_paths.py,sha256=B0EwOFkVbSzuLChdjkjenTehfxjXwwMBIodSGOfBHFU,12828
|
|
38
|
+
rattler/prefix/prefix_record.py,sha256=KWbjcBJO-KpdWz2VEYdlz_RPLpLByyaec0aViILi_EM,6290
|
|
39
|
+
rattler/prefix/__init__.py,sha256=gkgyqZ0yTmxOCW8DHuSG-X0spEzb8BIoiox8YG50XYc,257
|
|
41
40
|
rattler/package/about_json.py,sha256=FElWUXFNeF1gQJXE6lmYNEdxQjhsuimVObIeqxn3y8M,8958
|
|
42
|
-
rattler/package/run_exports_json.py,sha256=fZlM_H7IBuVi6lfL4SLsV_NDb22TgFhpCkxjm8YIvfg,9305
|
|
43
41
|
rattler/package/index_json.py,sha256=BxnJg5SPpiFsLhabz-Uuvc4ea_sg4N7Q-hqdQnXk8oc,12419
|
|
44
|
-
rattler/package/
|
|
42
|
+
rattler/package/run_exports_json.py,sha256=fZlM_H7IBuVi6lfL4SLsV_NDb22TgFhpCkxjm8YIvfg,9305
|
|
45
43
|
rattler/package/package_name.py,sha256=bX5CpTwyWOOuUlrejHmbJzz1R0KcchtWHLskOfA-Dlk,4426
|
|
46
|
-
rattler/
|
|
47
|
-
rattler/
|
|
44
|
+
rattler/package/__init__.py,sha256=omXnLVICkiH7HiaUzpRWAaJxS955Uimm1pT8dejJgVU,624
|
|
45
|
+
rattler/package/no_arch_type.py,sha256=y_1spiImY3654SDLRQWyp5mqr4l-gYKIuK4pCnEPj1s,3740
|
|
46
|
+
rattler/package/paths_json.py,sha256=7l2Wmqobwcoe-TStXhoafWzXCT4OWif_yAAa6KVnKyg,21465
|
|
47
|
+
rattler/__init__.py,sha256=QKjBUll9mX4TVwJy-dy5Gt8IezLnJz8EPTlKhOsw2IA,2476
|
|
48
|
+
rattler/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
49
|
+
rattler/platform/arch.py,sha256=7tanyDql5BvDvY9UryEXyTJ9nWRfx6bn7BWrl6fGEfI,1145
|
|
50
|
+
rattler/platform/__init__.py,sha256=YZaXxnJmG_WjYbhIAxA0jQDhaPYAR4rTVQCm4yRoyZQ,154
|
|
51
|
+
rattler/platform/platform.py,sha256=H_P35Z0irNiyQX2fxX7ombMkGwyYa-Ow_iDIDxJrmG8,4395
|
|
48
52
|
rattler/utils/rattler_version.py,sha256=eXAVN6NYg5EmsQ_DrfgxW1yJ_eWAlWx7IANasMRYgV4,526
|
|
49
|
-
rattler/networking/__init__.py,sha256=Wlob5pywEgiqmAq8sVKyJS6qOpRegKemtcXTkwDED20,474
|
|
50
53
|
rattler/networking/middleware.py,sha256=S1eArDWo45dKo8Um6mMYMOPs_OIdhLamejEQs8KorCQ,4838
|
|
51
|
-
rattler/networking/
|
|
54
|
+
rattler/networking/__init__.py,sha256=Wlob5pywEgiqmAq8sVKyJS6qOpRegKemtcXTkwDED20,474
|
|
55
|
+
rattler/networking/client.py,sha256=hMe-eq8n8KkiqTlu4MR-9fc30AwSJd0dB_h60famki0,1584
|
|
52
56
|
rattler/networking/fetch_repo_data.py,sha256=sO3dDNdvJev6TOblnGEzpFYnY2xorfr5A5zrjsTDbWk,3714
|
|
57
|
+
rattler/index/index.py,sha256=REYuZWRhb9eJiC7fQe7JL_rm-HgN1UfI1RQmvA75CYs,4165
|
|
53
58
|
rattler/index/__init__.py,sha256=Y-fiAzMcJSbL006dpALwGEhuMSTxuR1XC4o2gMqWcKA,87
|
|
54
|
-
rattler/
|
|
55
|
-
rattler/
|
|
56
|
-
rattler/
|
|
57
|
-
rattler/
|
|
58
|
-
|
|
59
|
-
rattler/channel/channel_config.py,sha256=rRD4dGeHTBIcm3vTuQR1wTGTELNdN69yq4lyCaTaN3M,1532
|
|
60
|
-
rattler/channel/channel_priority.py,sha256=OQfCHp_DeInkMB0YahCf2X7yCk0_RtM_C_Vy4Ny-65M,474
|
|
61
|
-
rattler/channel/channel.py,sha256=kGeZKa_YkSM943CA1i_8O1FXG9kS9hkrnmSl6OhkbbQ,2474
|
|
62
|
-
rattler/rattler.abi3.so,sha256=NtstXrLRzTANgIOUKiBCO2J73HvbPGlnhkEkNmWjT1I,45487769
|
|
63
|
-
py_rattler-0.14.0.dist-info/RECORD,,
|
|
59
|
+
rattler/match_spec/match_spec.py,sha256=fyrvd9VUURJyHaJDqNdzJNa3dZZpKLUmhjGVWtdGV4w,9525
|
|
60
|
+
rattler/match_spec/nameless_match_spec.py,sha256=pn__lFSo6chFqDWLIag5jjwumiX2kiTDguMYIdy-lu8,4599
|
|
61
|
+
rattler/match_spec/__init__.py,sha256=uBV3ov1VlCIZlIWhkxxMPcTqRBF5p5lqvT2g6kQv5kQ,167
|
|
62
|
+
rattler/rattler.abi3.so,sha256=hOIQLedRcwqk5gRHbk3IPmSlyfC4k0yZaVgL7BllKUI,46171781
|
|
63
|
+
py_rattler-0.15.0.dist-info/RECORD,,
|
rattler/index/index.py
CHANGED
|
@@ -14,7 +14,7 @@ async def index_fs(
|
|
|
14
14
|
write_zst: bool = True,
|
|
15
15
|
write_shards: bool = True,
|
|
16
16
|
force: bool = False,
|
|
17
|
-
max_parallel: int =
|
|
17
|
+
max_parallel: int | None = None,
|
|
18
18
|
) -> None:
|
|
19
19
|
"""
|
|
20
20
|
Indexes dependencies in the `channel_directory` for one or more subdirectories within said directory.
|
|
@@ -57,7 +57,7 @@ async def index_s3(
|
|
|
57
57
|
write_zst: bool = True,
|
|
58
58
|
write_shards: bool = True,
|
|
59
59
|
force: bool = False,
|
|
60
|
-
max_parallel: int =
|
|
60
|
+
max_parallel: int | None = None,
|
|
61
61
|
) -> None:
|
|
62
62
|
"""
|
|
63
63
|
Indexes dependencies in the `channel_url` for one or more subdirectories in the S3 directory.
|
|
@@ -71,9 +71,8 @@ class NamelessMatchSpec:
|
|
|
71
71
|
"""
|
|
72
72
|
The channel of the package.
|
|
73
73
|
"""
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
return None
|
|
74
|
+
channel = self._nameless_match_spec.channel
|
|
75
|
+
return channel and Channel._from_py_channel(channel)
|
|
77
76
|
|
|
78
77
|
@property
|
|
79
78
|
def subdir(self) -> Optional[str]:
|
rattler/networking/client.py
CHANGED
|
@@ -20,9 +20,10 @@ class Client:
|
|
|
20
20
|
middlewares: (
|
|
21
21
|
list[AuthenticationMiddleware | MirrorMiddleware | OciMiddleware | GCSMiddleware | S3Middleware] | None
|
|
22
22
|
) = None,
|
|
23
|
+
headers: dict[str, str] | None = None,
|
|
23
24
|
) -> None:
|
|
24
25
|
self._client = PyClientWithMiddleware(
|
|
25
|
-
[middleware._middleware for middleware in middlewares] if middlewares else None
|
|
26
|
+
[middleware._middleware for middleware in middlewares] if middlewares else None, headers
|
|
26
27
|
)
|
|
27
28
|
|
|
28
29
|
@classmethod
|
rattler/rattler.abi3.so
CHANGED
|
Binary file
|
rattler/repo_data/gateway.py
CHANGED
|
@@ -37,7 +37,7 @@ class SourceConfig:
|
|
|
37
37
|
|
|
38
38
|
cache_action: CacheAction = "cache-or-fetch"
|
|
39
39
|
"""How to interact with the cache.
|
|
40
|
-
|
|
40
|
+
|
|
41
41
|
* `'cache-or-fetch'` (default): Use the cache if its up to date or fetch from the URL if there is no valid cached value.
|
|
42
42
|
* `'use-cache-only'`: Only use the cache, but error out if the cache is not up to date
|
|
43
43
|
* `'force-cache-only'`: Only use the cache, ignore whether or not it is up to date.
|
|
File without changes
|