Skip to content

Releases: iwpnd/pyle38

v0.14.2

20 Jan 10:25
Compare
Choose a tag to compare

v0.14.2 (2025-01-20)

Performance Improvements


Detailed Changes: v0.14.1...v0.14.2

v0.14.1

09 Jan 15:14
Compare
Choose a tag to compare

v0.14.1 (2025-01-09)

Chores

Performance Improvements


Detailed Changes: v0.14.0...v0.14.1

v0.14.0

14 Nov 14:20
Compare
Choose a tag to compare

v0.14.0 (2024-11-14)

Build System

Chores

  • deps: 🔗 update redis (6b3ebbd)

Documentation

Features

  • ✨ client connection options (a4b0011)

using options pattern redis client connection options

closes #529

Refactoring

  • ♻️ make client url private, but backward compatible (651f7b3)

  • ♻️ make client url private (e72b441)

  • ♻️ drop variable position arguments, add missing docstrings (d4c0294)

v0.13.3

01 Nov 15:59
Compare
Choose a tag to compare

v0.13.3 (2024-11-01)

Refactoring

  • refactor: ♻️ set Tile38 output to JSON on_connect

instead of maintaining a __format state that
needs to be validated and updated on every state
of the connection.

Co-authored-by: Alex Ward [email protected] (5491580)

v0.13.2

01 Nov 13:03
Compare
Choose a tag to compare

v0.13.2 (2024-11-01)

Bug Fixes

  • fix: 🐛 reset format on .quit() to allow re-connect on same instance

Co-authored-by: Alex Ward [email protected] (fe5986b)

v0.13.1

01 Nov 10:47
Compare
Choose a tag to compare

v0.13.1 (2024-11-01)

Bug Fixes

  • fix: tile38 format not resetting on reconnect

Co-authored-by: Alex Ward [email protected] (8a16d4a)

Chores

  • chore(deps): bump python-semantic-release/python-semantic-release

Bumps python-semantic-release/python-semantic-release from 9.9.0 to 9.12.0.


updated-dependencies:

  • dependency-name: python-semantic-release/python-semantic-release
    dependency-type: direct:production
    update-type: version-update:semver-minor
    ...

Signed-off-by: dependabot[bot] [email protected] (f39be83)

  • chore(deps): bump redis (a9e944a)

  • chore(deps): bump pydantic (7e14731)

  • chore(deps): bump python-semantic-release/python-semantic-release

Bumps python-semantic-release/python-semantic-release from 9.8.6 to 9.8.7.


updated-dependencies:

  • dependency-name: python-semantic-release/python-semantic-release
    dependency-type: direct:production
    update-type: version-update:semver-patch
    ...

Signed-off-by: dependabot[bot] [email protected] (7e8c3fb)

  • chore(deps): 🔗 update redis to 5.0.8 (819fca0)

  • chore(deps): bump snok/install-poetry from 1.3 to 1.4

Bumps snok/install-poetry from 1.3 to 1.4.


updated-dependencies:

  • dependency-name: snok/install-poetry
    dependency-type: direct:production
    update-type: version-update:semver-minor
    ...

Signed-off-by: dependabot[bot] [email protected] (5132b28)

  • chore(deps): 🔗 bump pydantic (403229b)

  • chore(deps): bump python-semantic-release/python-semantic-release

Bumps python-semantic-release/python-semantic-release from 9.8.0 to 9.8.3.


updated-dependencies:

  • dependency-name: python-semantic-release/python-semantic-release
    dependency-type: direct:production
    update-type: version-update:semver-patch
    ...

Signed-off-by: dependabot[bot] [email protected] (c76e12e)

  • chore(deps): 🔗 bump redis and pydantic (8c15fb9)

v0.13.0

22 Jun 13:32
Compare
Choose a tag to compare

v0.13.0 (2024-06-22)

Added Tile38 WHEREIN filter to any of the where-able searches like intersect, within, scan, nearby or search.

import asyncio
from pyle38 import Tile38


async def main():
    tile38 = Tile38(url="redis://localhost:9851", follower_url="redis://localhost:9851")

    await tile38.set("fleet", "truck1").fields({"driver": "Bob"}).point(52.25,13.37).exec()
    await tile38.set("fleet", "truck2").fields({"driver": "John"}).point(52.25,13.37).exec()
    await tile38.set("fleet", "truck3").fields({"driver": "Ben"}).point(52.25,13.37).exec()

    response = await tile38.follower()
        .within("fleet").wherein("driver",["Bob","John"])
        .circle(52.25, 13.37, 1000)
        .asObjects()

    assert response.ok

    print(response.dict())
    await tile38.quit()

asyncio.run(main())

> {
    "ok": True,
    "elapsed": "48.8µs",
    "objects": [
        {
            "object": {
                "type": "Point",
                "coordinates": [
                    13.37,
                    52.25
                ]
            },
            "id": "truck1"
        },
        {
            "object": {
                "type": "Point",
                "coordinates": [
                    13.37,
                    52.25
                ]
            },
            "id": "truck2"
        }
    ],
    "count": 1,
    "cursor": 0
}

Chore

Feature

  • feat: add WHEREIN to SEARCH (e7b5c29)

  • feat: add WHEREIN to NEARBY (587c629)

  • feat: add WHEREIN to INTERSECTS (41e81dd)

  • feat: add WHEREIN to WITHIN (f706b80)

  • feat: add WHEREIN to SCAN (afa301e)

  • feat: add wherein to Whereable class (c3ad4df)

Refactor

  • refactor: simplify WHEREIN command, resolve mypy issues on object searches (33b23e8)

v0.12.0

07 Jun 14:10
Compare
Choose a tag to compare

v0.12.0 (2024-06-07)

Fix

  • fix: ObjectResponse with fields not compatible with Tile38 v1.30.0 (6272e70)

Feature

  • feat: support FEXISTS command as of tile38 v1.33.0 (12f900d)
await tile38.set('fleet', 'truck1')
  .fields({ "weight": 9000 })
  .point(33.5123, -112.2693)
  .exec()

# Validate if `field` exists on id.

resp = await tile38.fexists('fleet', 'truck1', 'weight')
print(resp.exists)
# > True

resp = await tile38.fexists('fleet', 'truck1', 'mileage')
print(resp.exists)
# > False
  • feat: support EXISTS command as of tile38 v1.33.0 (39e0593)
await tile38.set('fleet', 'truck')
  .point(33.5123, -112.2693)
  .exec()

# validate if id exists in collection
resp = await tile38.exists('fleet', 'truck')
print(resp.exists)
# > True

resp = await tile38.exists('fleet', 'bobbycar')
print(resp.exists)
# > False

v0.11.4

07 Jun 13:41
Compare
Choose a tag to compare

v0.11.4 (2024-06-07)

Chore

  • chore(deps): bump python-semantic-release/python-semantic-release

Bumps python-semantic-release/python-semantic-release from 9.6.0 to 9.8.0.


updated-dependencies:

  • dependency-name: python-semantic-release/python-semantic-release
    dependency-type: direct:production
    update-type: version-update:semver-minor
    ...

Signed-off-by: dependabot[bot] <[email protected]> (3578319)

  • chore(deps): 🔗 update redis (7f52479)

Fix

  • fix: ObjectResponse with fields not compatible with Tile38 v1.30.0 (6272e70)

v0.11.3

05 May 07:50
Compare
Choose a tag to compare

v0.11.3 (2024-05-05)

Chore

  • chore(deps): update redis (c7e2b1e)

  • chore(deps): bump actions/cache from 4.0.0 to 4.0.1

Bumps actions/cache from 4.0.0 to 4.0.1.


updated-dependencies:

  • dependency-name: actions/cache
    dependency-type: direct:production
    update-type: version-update:semver-patch
    ...

Signed-off-by: dependabot[bot] <[email protected]> (ff3161e)

  • chore(deps): bump python-semantic-release/python-semantic-release

Bumps python-semantic-release/python-semantic-release from 9.1.0 to 9.1.1.


updated-dependencies:

  • dependency-name: python-semantic-release/python-semantic-release
    dependency-type: direct:production
    update-type: version-update:semver-patch
    ...

Signed-off-by: dependabot[bot] <[email protected]> (b772a6b)

  • chore(deps): update pydantic (bffbe1c)

  • chore(deps): update pydantic (2eb7986)

  • chore(deps): 🔗 remove black, update pydantic (0b59dd7)

  • chore(deps): update (0ce11c4)

Fix

  • fix: bump pydantic to v2.7.0 (f71b6c6)