Skip to main content

michraz

PyPI Python CI License: MIT

Israeli public tenders (מכרזים) in Python. One Tender object, whichever site it came from.

Sources today: Israel Land Authority land tenders and Beer Sheva municipal tenders.

Unofficial client. It can lag or miss tenders, and parsing can break when a source changes. Confirm deadlines on the publisher's page before you act. Not affiliated with the Israel Land Authority or any municipality.

What michraz does

Install

pip install michraz            # Python 3.10+
pip install "michraz[pandas]"  # optional, for DataFrames

Use it

from michraz import Michraz, to_csv

with Michraz() as m:
    tenders = m.search(keyword="גינון", open_only=True)

for t in tenders:
    print(f"{t.deadline:%Y-%m-%d}  {t.title}  {t.url}")

to_csv(tenders, "tenders.csv")

Results are sorted by deadline. Filter by source, closing_before and closing_after (dates or aware datetimes) too. Each tender has an attribution string. Keep it when you republish the data.

Or from the terminal:

michraz search --open --source rmi
michraz search --keyword גינון --csv gardening.csv

Terminal output

A record that fails to parse is skipped and listed in m.last_errors. An unreachable source raises SourceUnavailableError. More scripts are in examples.

Add a source

Write a class with name, description, attribution, errors and a fetch() that yields Tenders, then pass it to Michraz([MySource()]).

Classes

Fields are documented in docs/model.md, and how each source was checked in docs/sources.md.

Polite by default

Request flow

Honest User-Agent, one request per second per host, one-hour disk cache, at most two retries. Tune it with Michraz(cache_dir=None, cache_ttl=..., min_interval=...).

Limitations

  • RMI region, type, purpose and status are raw numeric codes in tender.extra. No verified label table exists.
  • RMI tender details and documents are not fetched yet.
  • Keyword search is a Unicode-normalized substring match. No stemming.

Development

make venv && make check

Tests run against recorded responses and never touch the network. See CONTRIBUTING.md.

MIT licensed. The data belongs to its publishers and carries their licenses.

Metadata

Release files for michraz 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for michraz 0.1.0
File Size Uploaded Provenance Actions
michraz-0.1.0.tar.gz 50.1 kB Without provenance Details for michraz-0.1.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for michraz 0.1.0
File Interpreter ABI Platform Actions
michraz-0.1.0-py3-none-any.whl Python 3 none any Details for michraz-0.1.0-py3-none-any.whl

Total release size: 90.5 kB

Release files / michraz-0.1.0.tar.gz

Download URL michraz-0.1.0.tar.gz
Size 50.1 kB
Tags Source
SHA-256 checksum
How to use checksums
85acd9b1af0f77fce33f0107c4602f78c235efac3fd960e9118bb07b8f189075
BLAKE2b-256 checksum
How to use checksums
7fe8b934f8a239f998b86b3a6cbe699721c959c8c4dcc3ed0000f60f7cbb0f0b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.7 {"installer":{"name":"uv","version":"0.13.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}

Release files / michraz-0.1.0-py3-none-any.whl

Download URL michraz-0.1.0-py3-none-any.whl
Size 40.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
abb8e3ce7dbc5e921e65513719b30b425b1282ca2999ee658016e3bb992f500d
BLAKE2b-256 checksum
How to use checksums
f463cd2c436348dc9b08b57c80d66971bfbaa54dcb8259974053b0a24a81c02e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.7 {"installer":{"name":"uv","version":"0.13.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}

Security for michraz 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page