Skip to main content

A Solr client library written in Rust

Project description

Solrstice: A Solr 8+ Client for Rust and Python

Solrstice is a solr client library written in rust. With this wrapper you can use it in python.

Both asyncio and blocking clients are provided. All apis have type hints.

Features

  • Config API
  • Collection API
  • Alias API
  • Select Documents
    • Grouping Component Query
    • Stats Component
    • DefTypes (lucene, dismax, edismax)
    • Facet Counts (Query, Field, Pivot)
    • Json Facet (Query, Stat, Terms, Nested)
  • Indexing Documents
  • Deleting Documents

Installation

pip install solrstice

Basic Usage

Async

import asyncio

from solrstice import SolrBasicAuth, SolrServerContext, SolrSingleServerHost, AsyncSolrCloudClient, UpdateQuery, \
    SelectQuery, DeleteQuery

# A SolrServerContext specifies how the library should interact with Solr
context = SolrServerContext(SolrSingleServerHost('localhost:8983'), SolrBasicAuth('solr', 'SolrRocks'))
client = AsyncSolrCloudClient(context)


async def main() -> None:
    # Create config and collection
    await client.upload_config('example_config', 'path/to/config')
    await client.create_collection('example_collection', 'example_config', shards=1, replication_factor=1)

    # Index a document
    await client.index(UpdateQuery(), 'example_collection', [{'id': 'example_document', 'title': 'Example document'}])

    # Search for the document
    response = await client.select(SelectQuery(fq=['title:Example document']), 'example_collection')
    docs_response = response.get_docs_response()
    assert docs_response is not None
    assert docs_response.get_num_found() == 1
    docs = docs_response.get_docs()

    # Delete the document
    await client.delete(DeleteQuery(ids=['example_document']), 'example_collection')


asyncio.run(main())

Blocking

from solrstice import SolrBasicAuth, BlockingSolrCloudClient, SolrServerContext, SolrSingleServerHost, DeleteQuery, \
    SelectQuery, UpdateQuery

# A SolrServerContext specifies how the library should interact with Solr
context = SolrServerContext(SolrSingleServerHost('localhost:8983'), SolrBasicAuth('solr', 'SolrRocks'))
client = BlockingSolrCloudClient(context)

# Create config and collection
client.upload_config('example_config', 'path/to/config')
client.create_collection('example_collection', 'example_config', shards=1, replication_factor=1)

# Index a document
client.index(UpdateQuery(), 'example_collection', [{'id': 'example_document', 'title': 'Example document'}])

# Search for the document
response = client.select(SelectQuery(fq=['title:Example document']), 'example_collection')
docs_response = response.get_docs_response()
assert docs_response is not None
assert docs_response.get_num_found() == 1
docs = docs_response.get_docs()

# Delete the document
client.delete(DeleteQuery(ids=['example_document']), 'example_collection')

Grouping component

Field grouping

from solrstice import GroupingComponent, SelectQuery, SolrServerContext, AsyncSolrCloudClient
client = AsyncSolrCloudClient(SolrServerContext('localhost:8983'))

async def main() -> None:
  group_builder = GroupingComponent(fields=["age"], limit=10)
  select_builder = SelectQuery(fq=["age:[* TO *]"], grouping=group_builder)
  groups = (await client.select(select_builder, "example_collection")).get_groups()
  age_group = groups["age"]
  docs = age_group.get_field_result()

Query grouping

from solrstice import GroupingComponent, SelectQuery, SolrServerContext, AsyncSolrCloudClient
client = AsyncSolrCloudClient(SolrServerContext('localhost:8983'))

async def main() -> None:
  group_builder = GroupingComponent(queries=["age:[0 TO 59]", "age:[60 TO *]"], limit=10)
  select_builder = SelectQuery(fq=["age:[* TO *]"], grouping=group_builder)
  groups = (await client.select(select_builder, "example_collection")).get_groups()
  age_group = groups["age:[0 TO 59]"]
  group = age_group.get_query_result()
  assert group is not None
  docs = group.get_docs()

Query parsers

Lucene

from solrstice import LuceneQuery, SelectQuery, SolrServerContext, AsyncSolrCloudClient
client = AsyncSolrCloudClient(SolrServerContext('localhost:8983'))

async def main() -> None:
  query_parser = LuceneQuery(df="population")
  select_builder = SelectQuery(q="outdoors", def_type=query_parser)
  response = (await client.select(select_builder, "example_collection")).get_docs_response()
  assert response is not None
  docs = response.get_docs()

Dismax

from solrstice import DismaxQuery, SelectQuery, SolrServerContext, AsyncSolrCloudClient
client = AsyncSolrCloudClient(SolrServerContext('localhost:8983'))

async def main() -> None:
  query_parser = DismaxQuery(qf="interests^20", bq=["interests:cars^20"])
  select_builder = SelectQuery(q="outdoors", def_type=query_parser)
  response = (await client.select(select_builder, "example_collection")).get_docs_response()
  assert response is not None
  docs = response.get_docs()

Edismax

from solrstice import EdismaxQuery, SelectQuery, SolrServerContext, AsyncSolrCloudClient
client = AsyncSolrCloudClient(SolrServerContext('localhost:8983'))

async def main() -> None:
  query_parser = EdismaxQuery(qf="interests^20", bq=["interests:cars^20"])
  select_builder = SelectQuery(q="outdoors", def_type=query_parser)
  response = (await client.select(select_builder, "example_collection")).get_docs_response()
  assert response is not None
  docs = response.get_docs()

FacetSet Component

Pivot facet

from solrstice import FacetSetComponent, PivotFacetComponent, SelectQuery, SolrServerContext, AsyncSolrCloudClient
client = AsyncSolrCloudClient(SolrServerContext('localhost:8983'))

async def main() -> None:
  select_builder = SelectQuery(facet_set=FacetSetComponent(pivots=PivotFacetComponent(["interests,age"])))
  response = await client.select(select_builder, "example_collection")
  facets = response.get_facet_set()
  pivots = facets.get_pivots()
  interests_age = pivots.get("interests,age")

Field facet

from solrstice import FacetSetComponent, FieldFacetComponent, FieldFacetEntry, SelectQuery, SolrServerContext, AsyncSolrCloudClient
client = AsyncSolrCloudClient(SolrServerContext('localhost:8983'))

async def main() -> None:
  facet_set = FacetSetComponent(fields=FieldFacetComponent(fields=[FieldFacetEntry("age")]))
  select_builder = SelectQuery(facet_set=facet_set)
  response = await client.select(select_builder, "example_collection")
  facets = response.get_facet_set()
  fields = facets.get_fields()
  age = fields.get("age")

Query facet

from solrstice import AsyncSolrCloudClient, SolrServerContext, SelectQuery, FacetSetComponent, FacetSetComponent
client = AsyncSolrCloudClient(SolrServerContext('localhost:8983'))

async def main() -> None:
  select_builder = SelectQuery(facet_set=FacetSetComponent(queries=["age:[0 TO 59]"]))
  response = await client.select(select_builder, "example_collection")
  facets = response.get_facet_set()
  queries = facets.get_queries()
  query = queries.get("age:[0 TO 59]")

Stats Component

from solrstice import StatsComponent, SelectQuery, SolrServerContext, AsyncSolrCloudClient
client = AsyncSolrCloudClient(SolrServerContext('localhost:8983'))

async def main() -> None:
  select_builder = SelectQuery(stats=StatsComponent(fields=["age"]))
  response = await client.select(select_builder, "example_collection")
  stats = response.get_stats()
  assert stats is not None
  age_stats = stats.get_fields()["age"]
  age_count = age_stats.get_count()

Json Facet Component

Query

from solrstice import JsonFacetComponent, JsonQueryFacet, SelectQuery, SolrServerContext, AsyncSolrCloudClient
async def main() -> None:
  client = AsyncSolrCloudClient(SolrServerContext('localhost:8983'))
  select_builder = SelectQuery(
      json_facet=JsonFacetComponent(
          facets={"below_60": JsonQueryFacet(q="age:[0 TO 59]")}
      )
  )
  response = await client.select(select_builder, "example_collection")
  facets = response.get_json_facets()
  assert facets is not None
  below_60 = facets.get_nested_facets().get("below_60")
  assert below_60 is not None
  assert below_60.get_count() == 4

Stat

from solrstice import JsonFacetComponent, JsonStatFacet, SelectQuery, SolrServerContext, AsyncSolrCloudClient
client = AsyncSolrCloudClient(SolrServerContext('localhost:8983'))

async def main() -> None:
  select_builder = SelectQuery(
      json_facet=JsonFacetComponent(
          facets={"total_people": JsonStatFacet("sum(count)")}
      )
  )
  response = await client.select(select_builder, "example_collection")
  facets = response.get_json_facets()
  assert facets is not None
  total_people = facets.get_flat_facets()["total_people"]
  assert total_people == 1000

Terms

from solrstice import AsyncSolrCloudClient, SolrServerContext, SelectQuery, JsonFacetComponent, JsonTermsFacet
client = AsyncSolrCloudClient(SolrServerContext('localhost:8983'))

async def main() -> None:
  select_builder = SelectQuery(
      json_facet=JsonFacetComponent(facets={"age": JsonTermsFacet("age")})
  )
  response = await client.select(select_builder, "example_collection")
  facets = response.get_json_facets()
  assert facets is not None
  age_buckets = facets.get_nested_facets()["age"].get_buckets()
  assert len(age_buckets) == 3

Nested

from solrstice import AsyncSolrCloudClient, SolrServerContext, SelectQuery, JsonFacetComponent, JsonQueryFacet, JsonStatFacet
client = AsyncSolrCloudClient(SolrServerContext('localhost:8983'))

async def main() -> None:
  select_builder = SelectQuery(
      json_facet=JsonFacetComponent(
          facets={
              "below_60": JsonQueryFacet(
                  q="age:[0 TO 59]",
                  facets={"total_people": JsonStatFacet("sum(count)")},
              )
          }
      )
  )
  response = await client.select(select_builder, "example_collection")
  facets = response.get_json_facets()
  assert facets is not None
  total_people = (
      facets.get_nested_facets()
      ["below_60"]
      .get_flat_facets()
      .get("total_people")
  )
  assert total_people == 750.0

Hosts

Single Server

from solrstice import SolrServerContext, SolrSingleServerHost, SolrBasicAuth, AsyncSolrCloudClient

context = SolrServerContext(SolrSingleServerHost('localhost:8983'), SolrBasicAuth('solr', 'SolrRocks'))
client = AsyncSolrCloudClient(context)

Multiple servers

from solrstice import SolrServerContext, SolrMultipleServerHost, SolrBasicAuth, AsyncSolrCloudClient

# The client will randomly select a server to send requests to. It will wait 5 seconds for a response, before trying another server.
context = SolrServerContext(
    SolrMultipleServerHost(["localhost:8983", "localhost:8984"], 5),
    SolrBasicAuth('solr', 'SolrRocks'),
)
client = AsyncSolrCloudClient(context)

Zookeeper

from solrstice import SolrServerContext, ZookeeperEnsembleHostConnector, SolrBasicAuth, AsyncSolrCloudClient

async def main() -> None:
  context = SolrServerContext(
      await ZookeeperEnsembleHostConnector(["localhost:2181"], 30).connect(),
      SolrBasicAuth('solr', 'SolrRocks'),
  )
  client = AsyncSolrCloudClient(context)

Notes

  • Multiprocessing does not work, and will block forever. Normal multithreading works fine.

  • Pyo3, the Rust library for creating bindings does not allow overriding the __init__ method on objects from Rust. __new__ has to be overridden instead.

    For example, if you want to create a simpler way to create a client

    from typing import Optional
    from solrstice import SolrServerContext, SolrSingleServerHost, SolrBasicAuth, AsyncSolrCloudClient, SolrAuth
    class SolrClient(AsyncSolrCloudClient):
        def __new__(cls, host: str, auth: Optional[SolrAuth] = None):
            context = SolrServerContext(SolrSingleServerHost(host), auth)
            return super().__new__(cls, context=context)
    client = SolrClient("localhost:8983", SolrBasicAuth("username", "password"))
    

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

solrstice-0.15.1.tar.gz (106.1 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

solrstice-0.15.1-cp39-abi3-win_arm64.whl (3.8 MB view details)

Uploaded CPython 3.9+Windows ARM64

solrstice-0.15.1-cp39-abi3-win_amd64.whl (3.8 MB view details)

Uploaded CPython 3.9+Windows x86-64

solrstice-0.15.1-cp39-abi3-musllinux_1_2_x86_64.whl (5.0 MB view details)

Uploaded CPython 3.9+musllinux: musl 1.2+ x86-64

solrstice-0.15.1-cp39-abi3-musllinux_1_2_armv7l.whl (4.4 MB view details)

Uploaded CPython 3.9+musllinux: musl 1.2+ ARMv7l

solrstice-0.15.1-cp39-abi3-musllinux_1_2_aarch64.whl (4.8 MB view details)

Uploaded CPython 3.9+musllinux: musl 1.2+ ARM64

solrstice-0.15.1-cp39-abi3-manylinux_2_28_x86_64.whl (4.7 MB view details)

Uploaded CPython 3.9+manylinux: glibc 2.28+ x86-64

solrstice-0.15.1-cp39-abi3-manylinux_2_28_s390x.whl (4.4 MB view details)

Uploaded CPython 3.9+manylinux: glibc 2.28+ s390x

solrstice-0.15.1-cp39-abi3-manylinux_2_28_ppc64le.whl (5.1 MB view details)

Uploaded CPython 3.9+manylinux: glibc 2.28+ ppc64le

solrstice-0.15.1-cp39-abi3-manylinux_2_28_armv7l.whl (4.2 MB view details)

Uploaded CPython 3.9+manylinux: glibc 2.28+ ARMv7l

solrstice-0.15.1-cp39-abi3-manylinux_2_28_aarch64.whl (4.6 MB view details)

Uploaded CPython 3.9+manylinux: glibc 2.28+ ARM64

solrstice-0.15.1-cp39-abi3-macosx_11_0_arm64.whl (4.3 MB view details)

Uploaded CPython 3.9+macOS 11.0+ ARM64

solrstice-0.15.1-cp39-abi3-macosx_10_12_x86_64.whl (4.5 MB view details)

Uploaded CPython 3.9+macOS 10.12+ x86-64

File details

Details for the file solrstice-0.15.1.tar.gz.

File metadata

  • Download URL: solrstice-0.15.1.tar.gz
  • Upload date:
  • Size: 106.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for solrstice-0.15.1.tar.gz
Algorithm Hash digest
SHA256 acee5fc3c5559700c98e0565506cc864613b015313a0e30cb783710506dee1ec
MD5 4fe04fc8c965ec1040abb04fb58d5110
BLAKE2b-256 35b5855e0fd468415d13b915ac82fadddcb608b380cee0ac4c583327243a9b18

See more details on using hashes here.

File details

Details for the file solrstice-0.15.1-cp39-abi3-win_arm64.whl.

File metadata

  • Download URL: solrstice-0.15.1-cp39-abi3-win_arm64.whl
  • Upload date:
  • Size: 3.8 MB
  • Tags: CPython 3.9+, Windows ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for solrstice-0.15.1-cp39-abi3-win_arm64.whl
Algorithm Hash digest
SHA256 e52ce5b1b447879157d80418cafaa3706da23579bf837d78514f41a4f6fef9af
MD5 1fc41f8605e0948cac47d4c52a20ae25
BLAKE2b-256 a65e9a1237fe200feede072ec5b70b735320052695946d02210955f0c6a72612

See more details on using hashes here.

File details

Details for the file solrstice-0.15.1-cp39-abi3-win_amd64.whl.

File metadata

  • Download URL: solrstice-0.15.1-cp39-abi3-win_amd64.whl
  • Upload date:
  • Size: 3.8 MB
  • Tags: CPython 3.9+, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for solrstice-0.15.1-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 bbe8b7de9c1a900366cc4e540a691a675628693e5034964eed69f1e54fe5b373
MD5 2de86edb06f75b8136b7ea92770c2045
BLAKE2b-256 6959076d033bef1dfd11586fafb0975a65d8be2a33bc3d10e689810bec073a77

See more details on using hashes here.

File details

Details for the file solrstice-0.15.1-cp39-abi3-musllinux_1_2_x86_64.whl.

File metadata

  • Download URL: solrstice-0.15.1-cp39-abi3-musllinux_1_2_x86_64.whl
  • Upload date:
  • Size: 5.0 MB
  • Tags: CPython 3.9+, musllinux: musl 1.2+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for solrstice-0.15.1-cp39-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 65d3b4a13bd1d29cb2090fcf63b54d83ead3e6f87c951b8daf72888e90122aa9
MD5 58704f499a0ccb1e3ecd434f82590027
BLAKE2b-256 6c61b8f28202355756e930bdfb6b0c7cf1b2ab18852020f28738c48fa49b7a83

See more details on using hashes here.

File details

Details for the file solrstice-0.15.1-cp39-abi3-musllinux_1_2_armv7l.whl.

File metadata

  • Download URL: solrstice-0.15.1-cp39-abi3-musllinux_1_2_armv7l.whl
  • Upload date:
  • Size: 4.4 MB
  • Tags: CPython 3.9+, musllinux: musl 1.2+ ARMv7l
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for solrstice-0.15.1-cp39-abi3-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 755e690a8103d904f23810f8e060de43f503098a6333fb411b5d395ab260365d
MD5 b34ef08f10ac4e7edc0e4c460cb273c1
BLAKE2b-256 91ddef1f5e30b726208bc2bf167f114e525ea96f85b4450f218af4d59a9c8416

See more details on using hashes here.

File details

Details for the file solrstice-0.15.1-cp39-abi3-musllinux_1_2_aarch64.whl.

File metadata

  • Download URL: solrstice-0.15.1-cp39-abi3-musllinux_1_2_aarch64.whl
  • Upload date:
  • Size: 4.8 MB
  • Tags: CPython 3.9+, musllinux: musl 1.2+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for solrstice-0.15.1-cp39-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 6c1c382b9fe9f1bed65fce97571a6fd51b1f02b48e8355c3e0adb747cc8789fa
MD5 0fdc0e7708887001c6238f6af1f170c1
BLAKE2b-256 02ce519cf720369e5978b52932e4eb1b85477f187e69bbdf684ec4c3243b8bdc

See more details on using hashes here.

File details

Details for the file solrstice-0.15.1-cp39-abi3-manylinux_2_28_x86_64.whl.

File metadata

  • Download URL: solrstice-0.15.1-cp39-abi3-manylinux_2_28_x86_64.whl
  • Upload date:
  • Size: 4.7 MB
  • Tags: CPython 3.9+, manylinux: glibc 2.28+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for solrstice-0.15.1-cp39-abi3-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 3568ebe9efe52f7bf9fdb1d2ac7335b922a048a2860ca753518513b9c25ceffd
MD5 2b657d6b19fc0043950b2754cf2cea2c
BLAKE2b-256 3c68de8ed969fbf0e6f3ed99d21edbeb21826312785d95257f06c2188391b423

See more details on using hashes here.

File details

Details for the file solrstice-0.15.1-cp39-abi3-manylinux_2_28_s390x.whl.

File metadata

  • Download URL: solrstice-0.15.1-cp39-abi3-manylinux_2_28_s390x.whl
  • Upload date:
  • Size: 4.4 MB
  • Tags: CPython 3.9+, manylinux: glibc 2.28+ s390x
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for solrstice-0.15.1-cp39-abi3-manylinux_2_28_s390x.whl
Algorithm Hash digest
SHA256 39876659e8cfefb395492eeda89824a9ae3cd48ec8d058884f589c8d651461eb
MD5 48bed9908d22c3d34b30b05ca24f91ac
BLAKE2b-256 7438023e598b8d1360372d7e1142b5182650cb648d67f385626b35a1907c13bc

See more details on using hashes here.

File details

Details for the file solrstice-0.15.1-cp39-abi3-manylinux_2_28_ppc64le.whl.

File metadata

  • Download URL: solrstice-0.15.1-cp39-abi3-manylinux_2_28_ppc64le.whl
  • Upload date:
  • Size: 5.1 MB
  • Tags: CPython 3.9+, manylinux: glibc 2.28+ ppc64le
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for solrstice-0.15.1-cp39-abi3-manylinux_2_28_ppc64le.whl
Algorithm Hash digest
SHA256 d50e13bee233a4b2544368ff62bf669320f9f3262b8b0ef8479c0a44895d0014
MD5 3bc820fa3370551ef735d36f51b6fe43
BLAKE2b-256 d141315e7172fd2ebb69add77e9ca19280495a6a59b3faa37e0f076641a6af8b

See more details on using hashes here.

File details

Details for the file solrstice-0.15.1-cp39-abi3-manylinux_2_28_armv7l.whl.

File metadata

  • Download URL: solrstice-0.15.1-cp39-abi3-manylinux_2_28_armv7l.whl
  • Upload date:
  • Size: 4.2 MB
  • Tags: CPython 3.9+, manylinux: glibc 2.28+ ARMv7l
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for solrstice-0.15.1-cp39-abi3-manylinux_2_28_armv7l.whl
Algorithm Hash digest
SHA256 be987c43dda04f6b3bfc495ae291565c25406ff0622e0193525dc770ea6b8bba
MD5 b50a9eabc35a61eb5275400c52530387
BLAKE2b-256 f75a3610c5cbc798913a05f94f902eff91a0c0c462b5b107f90e2ce23dd99cf7

See more details on using hashes here.

File details

Details for the file solrstice-0.15.1-cp39-abi3-manylinux_2_28_aarch64.whl.

File metadata

  • Download URL: solrstice-0.15.1-cp39-abi3-manylinux_2_28_aarch64.whl
  • Upload date:
  • Size: 4.6 MB
  • Tags: CPython 3.9+, manylinux: glibc 2.28+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for solrstice-0.15.1-cp39-abi3-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 832de4f0715f77cfda6ab2d15e11fc8eb12339834aeb865f95042f60a1f471c4
MD5 e87b09db1fe9a99713e4f1b05e62a244
BLAKE2b-256 0982ddbc2755d2dde2b904d4e0c686c3a847e7af9b0232b87a2490372f5fa348

See more details on using hashes here.

File details

Details for the file solrstice-0.15.1-cp39-abi3-macosx_11_0_arm64.whl.

File metadata

  • Download URL: solrstice-0.15.1-cp39-abi3-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 4.3 MB
  • Tags: CPython 3.9+, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for solrstice-0.15.1-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 42820791ca20fb86820ff1f41129df4236eb3e568f79655f7b2aae2b15cc2b74
MD5 8b03f3ef3b2c62b2a4eb24be15341583
BLAKE2b-256 2277014225dd8bfc66f07620a96b76154eb4488f22b7708e99efb5dd84a317f1

See more details on using hashes here.

File details

Details for the file solrstice-0.15.1-cp39-abi3-macosx_10_12_x86_64.whl.

File metadata

  • Download URL: solrstice-0.15.1-cp39-abi3-macosx_10_12_x86_64.whl
  • Upload date:
  • Size: 4.5 MB
  • Tags: CPython 3.9+, macOS 10.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for solrstice-0.15.1-cp39-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 ea60555d89dc09e32e3e275f32dc7948ca5dade6afe91662d86f638127e258ec
MD5 06ec4a67a1eed13a520f7f5f0f5cdfb0
BLAKE2b-256 44c4095a41a614759178e095e752274c39191935858dbfe9e7e65ebb9f47e6b3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page