mozilla-merino-ext 0.1.0__tar.gz

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.
Files changed (29) hide show
  1. mozilla_merino_ext-0.1.0/.github/actions/weave/action.yaml +15 -0
  2. mozilla_merino_ext-0.1.0/.github/workflows/checks.yaml +14 -0
  3. mozilla_merino_ext-0.1.0/.github/workflows/main.yaml +186 -0
  4. mozilla_merino_ext-0.1.0/.github/workflows/pr.yaml +10 -0
  5. mozilla_merino_ext-0.1.0/.github/workflows/tests.yaml +14 -0
  6. mozilla_merino_ext-0.1.0/.gitignore +177 -0
  7. mozilla_merino_ext-0.1.0/CHANGELOG.md +7 -0
  8. mozilla_merino_ext-0.1.0/CODE_OF_CONDUCT.md +15 -0
  9. mozilla_merino_ext-0.1.0/Cargo.lock +216 -0
  10. mozilla_merino_ext-0.1.0/Cargo.toml +23 -0
  11. mozilla_merino_ext-0.1.0/LICENSE +373 -0
  12. mozilla_merino_ext-0.1.0/MANIFEST.in +2 -0
  13. mozilla_merino_ext-0.1.0/Makefile +53 -0
  14. mozilla_merino_ext-0.1.0/PKG-INFO +49 -0
  15. mozilla_merino_ext-0.1.0/README.md +35 -0
  16. mozilla_merino_ext-0.1.0/pyproject.toml +54 -0
  17. mozilla_merino_ext-0.1.0/python/moz_merino_ext/__init__.py +5 -0
  18. mozilla_merino_ext-0.1.0/python/moz_merino_ext/__init__.pyi +0 -0
  19. mozilla_merino_ext-0.1.0/python/moz_merino_ext/amp/__init__.py +1 -0
  20. mozilla_merino_ext-0.1.0/python/moz_merino_ext/amp/__init__.pyi +52 -0
  21. mozilla_merino_ext-0.1.0/python/moz_merino_ext/amp/py.typed +0 -0
  22. mozilla_merino_ext-0.1.0/python/moz_merino_ext/py.typed +0 -0
  23. mozilla_merino_ext-0.1.0/src/amp/domain.rs +184 -0
  24. mozilla_merino_ext-0.1.0/src/amp/index.rs +180 -0
  25. mozilla_merino_ext-0.1.0/src/amp/mod.rs +207 -0
  26. mozilla_merino_ext-0.1.0/src/lib.rs +22 -0
  27. mozilla_merino_ext-0.1.0/tests/amp/test_amp.py +162 -0
  28. mozilla_merino_ext-0.1.0/tests/test_moz_merino_ext.py +22 -0
  29. mozilla_merino_ext-0.1.0/uv.lock +132 -0
@@ -0,0 +1,15 @@
1
+ name: Set Up to Run
2
+ runs:
3
+ using: "composite"
4
+ steps:
5
+ - uses: actions/checkout@v4
6
+ - name: Install uv
7
+ uses: astral-sh/setup-uv@v5
8
+ with:
9
+ enable-cache: true
10
+ - uses: actions/setup-python@v5
11
+ with:
12
+ python-version-file: "pyproject.toml"
13
+ - uses: dtolnay/rust-toolchain@stable
14
+ with:
15
+ components: rustfmt
@@ -0,0 +1,14 @@
1
+ name: checks
2
+
3
+ on:
4
+ workflow_call:
5
+
6
+ jobs:
7
+ checks:
8
+ runs-on: ubuntu-latest
9
+ steps:
10
+ - uses: actions/checkout@v4
11
+ - name: Set up to run
12
+ uses: ./.github/actions/weave
13
+ - name: Run Code Linting
14
+ run: make -k lint
@@ -0,0 +1,186 @@
1
+ # This file is autogenerated by maturin v1.9.0
2
+ # To update, run
3
+ #
4
+ # maturin generate-ci --skip-attestation github
5
+ #
6
+ name: main
7
+
8
+ on:
9
+ push:
10
+ branches:
11
+ - main
12
+ tags:
13
+ - '*'
14
+
15
+ jobs:
16
+ run-checks:
17
+ uses: ./.github/workflows/checks.yaml
18
+
19
+ run-tests:
20
+ uses: ./.github/workflows/tests.yaml
21
+
22
+ linux:
23
+ runs-on: ${{ matrix.platform.runner }}
24
+ strategy:
25
+ matrix:
26
+ platform:
27
+ - runner: ubuntu-22.04
28
+ target: x86_64
29
+ steps:
30
+ - uses: actions/checkout@v4
31
+ - uses: actions/setup-python@v5
32
+ with:
33
+ python-version-file: "pyproject.toml"
34
+ - name: Build wheels
35
+ uses: PyO3/maturin-action@v1
36
+ with:
37
+ target: ${{ matrix.platform.target }}
38
+ args: --release --out dist
39
+ sccache: ${{ !startsWith(github.ref, 'refs/tags/') }}
40
+ manylinux: auto
41
+ - name: Build free-threaded wheels
42
+ uses: PyO3/maturin-action@v1
43
+ with:
44
+ target: ${{ matrix.platform.target }}
45
+ args: --release --out dist -i python3.13t
46
+ sccache: ${{ !startsWith(github.ref, 'refs/tags/') }}
47
+ manylinux: auto
48
+ - name: Upload wheels
49
+ uses: actions/upload-artifact@v4
50
+ with:
51
+ name: wheels-linux-${{ matrix.platform.target }}
52
+ path: dist
53
+
54
+ musllinux:
55
+ runs-on: ${{ matrix.platform.runner }}
56
+ strategy:
57
+ matrix:
58
+ platform:
59
+ - runner: ubuntu-22.04
60
+ target: x86_64
61
+ steps:
62
+ - uses: actions/checkout@v4
63
+ - uses: actions/setup-python@v5
64
+ with:
65
+ python-version-file: "pyproject.toml"
66
+ - name: Build wheels
67
+ uses: PyO3/maturin-action@v1
68
+ with:
69
+ target: ${{ matrix.platform.target }}
70
+ args: --release --out dist
71
+ sccache: ${{ !startsWith(github.ref, 'refs/tags/') }}
72
+ manylinux: musllinux_1_2
73
+ - name: Build free-threaded wheels
74
+ uses: PyO3/maturin-action@v1
75
+ with:
76
+ target: ${{ matrix.platform.target }}
77
+ args: --release --out dist -i python3.13t
78
+ sccache: ${{ !startsWith(github.ref, 'refs/tags/') }}
79
+ manylinux: musllinux_1_2
80
+ - name: Upload wheels
81
+ uses: actions/upload-artifact@v4
82
+ with:
83
+ name: wheels-musllinux-${{ matrix.platform.target }}
84
+ path: dist
85
+
86
+ windows:
87
+ runs-on: ${{ matrix.platform.runner }}
88
+ strategy:
89
+ matrix:
90
+ platform:
91
+ - runner: windows-latest
92
+ target: x64
93
+ steps:
94
+ - uses: actions/checkout@v4
95
+ - uses: actions/setup-python@v5
96
+ with:
97
+ python-version-file: "pyproject.toml"
98
+ architecture: ${{ matrix.platform.target }}
99
+ - name: Build wheels
100
+ uses: PyO3/maturin-action@v1
101
+ with:
102
+ target: ${{ matrix.platform.target }}
103
+ args: --release --out dist
104
+ sccache: ${{ !startsWith(github.ref, 'refs/tags/') }}
105
+ - uses: actions/setup-python@v5
106
+ with:
107
+ python-version: 3.13t
108
+ architecture: ${{ matrix.platform.target }}
109
+ - name: Build free-threaded wheels
110
+ uses: PyO3/maturin-action@v1
111
+ with:
112
+ target: ${{ matrix.platform.target }}
113
+ args: --release --out dist -i python3.13t
114
+ sccache: ${{ !startsWith(github.ref, 'refs/tags/') }}
115
+ - name: Upload wheels
116
+ uses: actions/upload-artifact@v4
117
+ with:
118
+ name: wheels-windows-${{ matrix.platform.target }}
119
+ path: dist
120
+
121
+ macos:
122
+ runs-on: ${{ matrix.platform.runner }}
123
+ strategy:
124
+ matrix:
125
+ platform:
126
+ - runner: macos-13
127
+ target: x86_64
128
+ - runner: macos-14
129
+ target: aarch64
130
+ steps:
131
+ - uses: actions/checkout@v4
132
+ - uses: actions/setup-python@v5
133
+ with:
134
+ python-version-file: "pyproject.toml"
135
+ - name: Build wheels
136
+ uses: PyO3/maturin-action@v1
137
+ with:
138
+ target: ${{ matrix.platform.target }}
139
+ args: --release --out dist
140
+ sccache: ${{ !startsWith(github.ref, 'refs/tags/') }}
141
+ - name: Build free-threaded wheels
142
+ uses: PyO3/maturin-action@v1
143
+ with:
144
+ target: ${{ matrix.platform.target }}
145
+ args: --release --out dist -i python3.13t
146
+ sccache: ${{ !startsWith(github.ref, 'refs/tags/') }}
147
+ - name: Upload wheels
148
+ uses: actions/upload-artifact@v4
149
+ with:
150
+ name: wheels-macos-${{ matrix.platform.target }}
151
+ path: dist
152
+
153
+ sdist:
154
+ runs-on: ubuntu-latest
155
+ steps:
156
+ - uses: actions/checkout@v4
157
+ - name: Build sdist
158
+ uses: PyO3/maturin-action@v1
159
+ with:
160
+ command: sdist
161
+ args: --out dist
162
+ - name: Upload sdist
163
+ uses: actions/upload-artifact@v4
164
+ with:
165
+ name: wheels-sdist
166
+ path: dist
167
+
168
+ release:
169
+ name: Release
170
+ runs-on: ubuntu-latest
171
+ if: ${{ startsWith(github.ref, 'refs/tags/') }}
172
+ needs: [linux, musllinux, windows, macos, sdist]
173
+ environment: pypi
174
+ permissions:
175
+ # Use to sign the release artifacts and this is mandatory for PyPI Trusted Publishing
176
+ id-token: write
177
+ # Used to upload release artifacts
178
+ contents: write
179
+ steps:
180
+ - uses: actions/download-artifact@v4
181
+ - name: Publish to PyPI
182
+ if: ${{ startsWith(github.ref, 'refs/tags/') }}
183
+ uses: PyO3/maturin-action@v1
184
+ with:
185
+ command: upload
186
+ args: --non-interactive --skip-existing wheels-*/*
@@ -0,0 +1,10 @@
1
+ name: PR-workflow
2
+
3
+ on:
4
+ pull_request:
5
+
6
+ jobs:
7
+ run-checks:
8
+ uses: ./.github/workflows/checks.yaml
9
+ run-tests:
10
+ uses: ./.github/workflows/tests.yaml
@@ -0,0 +1,14 @@
1
+ name: tests
2
+
3
+ on:
4
+ workflow_call:
5
+
6
+ jobs:
7
+ checks:
8
+ runs-on: ubuntu-latest
9
+ steps:
10
+ - uses: actions/checkout@v4
11
+ - name: Set up to run
12
+ uses: ./.github/actions/weave
13
+ - name: Build and Run Tests
14
+ run: make dev-test
@@ -0,0 +1,177 @@
1
+ # Rust
2
+ target
3
+ # Remove Cargo.lock from gitignore if creating an executable, leave it for libraries
4
+ # More information here https://doc.rust-lang.org/cargo/guide/cargo-toml-vs-cargo-lock.html
5
+ Cargo.lock
6
+ # These are backup files generated by rustfmt
7
+ **/*.rs.bk
8
+
9
+ # Byte-compiled / optimized / DLL files
10
+ __pycache__/
11
+ *.py[cod]
12
+ *$py.class
13
+
14
+ # C extensions
15
+ *.so
16
+
17
+ # Distribution / packaging
18
+ .Python
19
+ build/
20
+ develop-eggs/
21
+ dist/
22
+ downloads/
23
+ eggs/
24
+ .eggs/
25
+ lib/
26
+ lib64/
27
+ parts/
28
+ sdist/
29
+ var/
30
+ wheels/
31
+ pip-wheel-metadata/
32
+ share/python-wheels/
33
+ *.egg-info/
34
+ .installed.cfg
35
+ *.egg
36
+ MANIFEST
37
+ !manifest/
38
+
39
+ # PyInstaller
40
+ # Usually these files are written by a python script from a template
41
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
42
+ *.manifest
43
+ *.spec
44
+
45
+ # Installer logs
46
+ pip-log.txt
47
+ pip-delete-this-directory.txt
48
+
49
+ # Unit test / coverage reports
50
+ htmlcov/
51
+ .tox/
52
+ .nox/
53
+ .coverage
54
+ .coverage.*
55
+ .cache
56
+ nosetests.xml
57
+ coverage.xml
58
+ *.cover
59
+ *.py,cover
60
+ .hypothesis/
61
+ .pytest_cache/
62
+
63
+ # Translations
64
+ *.mo
65
+ *.pot
66
+
67
+ # Django stuff:
68
+ *.log
69
+ local_settings.py
70
+ db.sqlite3
71
+ db.sqlite3-journal
72
+
73
+ # Flask stuff:
74
+ instance/
75
+ .webassets-cache
76
+
77
+ # Scrapy stuff:
78
+ .scrapy
79
+
80
+ # Sphinx documentation
81
+ docs/_build/
82
+
83
+ # PyBuilder
84
+ target/
85
+
86
+ # Jupyter Notebook
87
+ .ipynb_checkpoints
88
+
89
+ # IPython
90
+ profile_default/
91
+ ipython_config.py
92
+
93
+ # pyenv
94
+ .python-version
95
+
96
+ # pipenv
97
+ # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
98
+ # However, in case of collaboration, if having platform-specific dependencies or dependencies
99
+ # having no cross-platform support, pipenv may install dependencies that don't work, or not
100
+ # install all needed dependencies.
101
+ #Pipfile.lock
102
+
103
+ # PEP 582; used by e.g. github.com/David-OConnor/pyflow
104
+ __pypackages__/
105
+
106
+ # Celery stuff
107
+ celerybeat-schedule
108
+ celerybeat.pid
109
+
110
+ # SageMath parsed files
111
+ *.sage.py
112
+
113
+ # Environments
114
+ .env
115
+ .venv
116
+ env/
117
+ venv/
118
+ ENV/
119
+ env.bak/
120
+ venv.bak/
121
+
122
+ # Spyder project settings
123
+ .spyderproject
124
+ .spyproject
125
+
126
+ # Rope project settings
127
+ .ropeproject
128
+
129
+ # mkdocs documentation
130
+ /site
131
+
132
+ # mypy
133
+ .mypy_cache/
134
+ .dmypy.json
135
+ dmypy.json
136
+
137
+ # Pyre type checker
138
+ .pyre/
139
+
140
+ # For uv install
141
+ .install.stamp
142
+
143
+ # Dynaconf secret files
144
+ merino/configs/.secrets.*
145
+
146
+ # Dynaconf local config files
147
+ merino/configs/*.local.*
148
+
149
+ # mdBook generated files
150
+ book/
151
+ .book.toml.swp
152
+ mermaid-init.js
153
+ mermaid.min.js
154
+
155
+ # Scalene profile artifacts
156
+ profile.json
157
+ profile.html
158
+
159
+ # CircleCI workspace artifacts
160
+ workspace/
161
+
162
+ # DS_Store files for macOS
163
+ **/.DS_Store
164
+
165
+ # VS Code configuration files
166
+ .vscode/*
167
+ !.vscode/launch.json
168
+ .vscode/
169
+
170
+ # Emacs autosave files
171
+ *~
172
+
173
+ # IntelliJ IDE local settings
174
+ .idea
175
+
176
+ # Zed editor local settings
177
+ .zed
@@ -0,0 +1,7 @@
1
+ <a name="0.1.0"></a>
2
+ ## 0.1.0 (2025-07-07)
3
+
4
+ ### Features
5
+
6
+ * Init commit of moz-merino-ext
7
+
@@ -0,0 +1,15 @@
1
+ # Community Participation Guidelines
2
+
3
+ This repository is governed by Mozilla's code of conduct and etiquette guidelines.
4
+ For more details, please read the
5
+ [Mozilla Community Participation Guidelines](https://www.mozilla.org/about/governance/policies/participation/).
6
+
7
+ ## How to Report
8
+ For more information on how to report violations of the Community Participation Guidelines, please read our '[How to Report](https://www.mozilla.org/about/governance/policies/participation/reporting/)' page.
9
+
10
+ <!--
11
+ ## Project Specific Etiquette
12
+
13
+ In some cases, there will be additional project etiquette i.e.: (https://bugzilla.mozilla.org/page.cgi?id=etiquette.html).
14
+ Please update for your project.
15
+ -->
@@ -0,0 +1,216 @@
1
+ # This file is automatically @generated by Cargo.
2
+ # It is not intended for manual editing.
3
+ version = 4
4
+
5
+ [[package]]
6
+ name = "autocfg"
7
+ version = "1.5.0"
8
+ source = "registry+https://github.com/rust-lang/crates.io-index"
9
+ checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8"
10
+
11
+ [[package]]
12
+ name = "heck"
13
+ version = "0.5.0"
14
+ source = "registry+https://github.com/rust-lang/crates.io-index"
15
+ checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
16
+
17
+ [[package]]
18
+ name = "indoc"
19
+ version = "2.0.6"
20
+ source = "registry+https://github.com/rust-lang/crates.io-index"
21
+ checksum = "f4c7245a08504955605670dbf141fceab975f15ca21570696aebe9d2e71576bd"
22
+
23
+ [[package]]
24
+ name = "itoa"
25
+ version = "1.0.15"
26
+ source = "registry+https://github.com/rust-lang/crates.io-index"
27
+ checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c"
28
+
29
+ [[package]]
30
+ name = "libc"
31
+ version = "0.2.174"
32
+ source = "registry+https://github.com/rust-lang/crates.io-index"
33
+ checksum = "1171693293099992e19cddea4e8b849964e9846f4acee11b3948bcc337be8776"
34
+
35
+ [[package]]
36
+ name = "memchr"
37
+ version = "2.7.5"
38
+ source = "registry+https://github.com/rust-lang/crates.io-index"
39
+ checksum = "32a282da65faaf38286cf3be983213fcf1d2e2a58700e808f83f4ea9a4804bc0"
40
+
41
+ [[package]]
42
+ name = "memoffset"
43
+ version = "0.9.1"
44
+ source = "registry+https://github.com/rust-lang/crates.io-index"
45
+ checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a"
46
+ dependencies = [
47
+ "autocfg",
48
+ ]
49
+
50
+ [[package]]
51
+ name = "mozilla-merino-ext"
52
+ version = "0.1.0"
53
+ dependencies = [
54
+ "pyo3",
55
+ "serde",
56
+ "serde_json",
57
+ ]
58
+
59
+ [[package]]
60
+ name = "once_cell"
61
+ version = "1.21.3"
62
+ source = "registry+https://github.com/rust-lang/crates.io-index"
63
+ checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d"
64
+
65
+ [[package]]
66
+ name = "portable-atomic"
67
+ version = "1.11.1"
68
+ source = "registry+https://github.com/rust-lang/crates.io-index"
69
+ checksum = "f84267b20a16ea918e43c6a88433c2d54fa145c92a811b5b047ccbe153674483"
70
+
71
+ [[package]]
72
+ name = "proc-macro2"
73
+ version = "1.0.95"
74
+ source = "registry+https://github.com/rust-lang/crates.io-index"
75
+ checksum = "02b3e5e68a3a1a02aad3ec490a98007cbc13c37cbe84a3cd7b8e406d76e7f778"
76
+ dependencies = [
77
+ "unicode-ident",
78
+ ]
79
+
80
+ [[package]]
81
+ name = "pyo3"
82
+ version = "0.25.1"
83
+ source = "registry+https://github.com/rust-lang/crates.io-index"
84
+ checksum = "8970a78afe0628a3e3430376fc5fd76b6b45c4d43360ffd6cdd40bdde72b682a"
85
+ dependencies = [
86
+ "indoc",
87
+ "libc",
88
+ "memoffset",
89
+ "once_cell",
90
+ "portable-atomic",
91
+ "pyo3-build-config",
92
+ "pyo3-ffi",
93
+ "pyo3-macros",
94
+ "unindent",
95
+ ]
96
+
97
+ [[package]]
98
+ name = "pyo3-build-config"
99
+ version = "0.25.1"
100
+ source = "registry+https://github.com/rust-lang/crates.io-index"
101
+ checksum = "458eb0c55e7ece017adeba38f2248ff3ac615e53660d7c71a238d7d2a01c7598"
102
+ dependencies = [
103
+ "once_cell",
104
+ "target-lexicon",
105
+ ]
106
+
107
+ [[package]]
108
+ name = "pyo3-ffi"
109
+ version = "0.25.1"
110
+ source = "registry+https://github.com/rust-lang/crates.io-index"
111
+ checksum = "7114fe5457c61b276ab77c5055f206295b812608083644a5c5b2640c3102565c"
112
+ dependencies = [
113
+ "libc",
114
+ "pyo3-build-config",
115
+ ]
116
+
117
+ [[package]]
118
+ name = "pyo3-macros"
119
+ version = "0.25.1"
120
+ source = "registry+https://github.com/rust-lang/crates.io-index"
121
+ checksum = "a8725c0a622b374d6cb051d11a0983786448f7785336139c3c94f5aa6bef7e50"
122
+ dependencies = [
123
+ "proc-macro2",
124
+ "pyo3-macros-backend",
125
+ "quote",
126
+ "syn",
127
+ ]
128
+
129
+ [[package]]
130
+ name = "pyo3-macros-backend"
131
+ version = "0.25.1"
132
+ source = "registry+https://github.com/rust-lang/crates.io-index"
133
+ checksum = "4109984c22491085343c05b0dbc54ddc405c3cf7b4374fc533f5c3313a572ccc"
134
+ dependencies = [
135
+ "heck",
136
+ "proc-macro2",
137
+ "pyo3-build-config",
138
+ "quote",
139
+ "syn",
140
+ ]
141
+
142
+ [[package]]
143
+ name = "quote"
144
+ version = "1.0.40"
145
+ source = "registry+https://github.com/rust-lang/crates.io-index"
146
+ checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d"
147
+ dependencies = [
148
+ "proc-macro2",
149
+ ]
150
+
151
+ [[package]]
152
+ name = "ryu"
153
+ version = "1.0.20"
154
+ source = "registry+https://github.com/rust-lang/crates.io-index"
155
+ checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f"
156
+
157
+ [[package]]
158
+ name = "serde"
159
+ version = "1.0.219"
160
+ source = "registry+https://github.com/rust-lang/crates.io-index"
161
+ checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6"
162
+ dependencies = [
163
+ "serde_derive",
164
+ ]
165
+
166
+ [[package]]
167
+ name = "serde_derive"
168
+ version = "1.0.219"
169
+ source = "registry+https://github.com/rust-lang/crates.io-index"
170
+ checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00"
171
+ dependencies = [
172
+ "proc-macro2",
173
+ "quote",
174
+ "syn",
175
+ ]
176
+
177
+ [[package]]
178
+ name = "serde_json"
179
+ version = "1.0.140"
180
+ source = "registry+https://github.com/rust-lang/crates.io-index"
181
+ checksum = "20068b6e96dc6c9bd23e01df8827e6c7e1f2fddd43c21810382803c136b99373"
182
+ dependencies = [
183
+ "itoa",
184
+ "memchr",
185
+ "ryu",
186
+ "serde",
187
+ ]
188
+
189
+ [[package]]
190
+ name = "syn"
191
+ version = "2.0.104"
192
+ source = "registry+https://github.com/rust-lang/crates.io-index"
193
+ checksum = "17b6f705963418cdb9927482fa304bc562ece2fdd4f616084c50b7023b435a40"
194
+ dependencies = [
195
+ "proc-macro2",
196
+ "quote",
197
+ "unicode-ident",
198
+ ]
199
+
200
+ [[package]]
201
+ name = "target-lexicon"
202
+ version = "0.13.2"
203
+ source = "registry+https://github.com/rust-lang/crates.io-index"
204
+ checksum = "e502f78cdbb8ba4718f566c418c52bc729126ffd16baee5baa718cf25dd5a69a"
205
+
206
+ [[package]]
207
+ name = "unicode-ident"
208
+ version = "1.0.18"
209
+ source = "registry+https://github.com/rust-lang/crates.io-index"
210
+ checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512"
211
+
212
+ [[package]]
213
+ name = "unindent"
214
+ version = "0.2.4"
215
+ source = "registry+https://github.com/rust-lang/crates.io-index"
216
+ checksum = "7264e107f553ccae879d21fbea1d6724ac785e8c3bfc762137959b5802826ef3"
@@ -0,0 +1,23 @@
1
+ [package]
2
+ authors = ["Mozilla/DISCO <disco-team@mozilla.com>"]
3
+ name = "mozilla-merino-ext"
4
+ version = "0.1.0"
5
+ edition = "2024"
6
+ license = "MPL"
7
+ repository = "https://github.com/mozilla-services/moz-merino-ext"
8
+ keywords = ["mozilla", "merino", "python"]
9
+ readme = "README.md"
10
+
11
+ [lib]
12
+ name = "moz_merino_ext"
13
+ crate-type = ["cdylib", "rlib",]
14
+
15
+ [dependencies]
16
+ pyo3 = { version = "0.25.0", features = ["extension-module", "abi3-py313"] }
17
+ serde = { version = "1.0", features = ["derive"] }
18
+ serde_json = "1.0"
19
+
20
+ [profile.release]
21
+ opt-level = 3
22
+ lto = "thin" # PyO3 specific settings
23
+ codegen-units = 1