Cluedin

Latest version: v3.0.0

Safety actively analyzes 717349 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 2

3.0.0

- Python 3.10.
- Data Ingestion: `cluedin.ingestion.post(context, url, collection, batch_size=10_000, delay_in_seconds=0)`


**Full Changelog**: https://github.com/romaklimenko/cluedin/compare/2.6.0...3.0.0

2.6.0

- 44 Implement `__str__` and `__repr__` for `cluedin.Context`
- 45 Create `cluedin.Context` from JWT

**Full Changelog**: https://github.com/romaklimenko/cluedin/compare/2.5.0...2.6.0

2.5.0

What's Changed

**Full Changelog**: https://github.com/romaklimenko/cluedin/compare/2.4.0...2.5.0

2.4.0

What's Changed

Added support for CluedIn Rules:

- `cluedin.rules.RuleScope` - an enumeration of rule scopes: `DATA_PART`, `ENTITY`, `SURVIVORSHIP`.
- `cluedin.rules.get_rules(context: Context, scope=RuleScope.DATA_PART) -> dict` – returns all rules for a given scope. This method returns a JSON-response serialized into a `dict`.
- `cluedin.rules.get_rule(context: Context, rule_id: str) -> dict` – returns a rule by ID. This method returns a JSON-response serialized into a `dict`.

Evaluator

- `cluedin.rules.evaluator.default_get_property_name(field: str) -> str` – returns a default property name for a given field. Used to map CluedIn Rules fields to your fields.
- `cluedin.rules.evaluator.default_get_value(field: str, obj: dict) -> Any` – returns a default value for a given field. Used to map CluedIn Rules fields to your fields.
- `cluedin.rules.Evaluator` – a class to evaluate CluedIn Rules.
- `cluedin.rules.Evaluator.evaluate(context: Context, rule: dict, obj: dict) -> bool` – evaluates a rule for an object. Returns a Boolean:

- `get_matching_objects(self, objects) -> list` – returns a list of objects that match the rule.
- `object_matches_rules(self, obj) -> bool` – returns `True` if an object matches the rule.
- `explain(self) -> str` – returns an explanation of the rule (in pandas `DataFrame.query` terms).

Operators

- `cluedin.rules.operators.default_get_operator(operator_id) -> Any` – returns a default operator for a given operator ID. Used to map CluedIn Rules operators to your operators.

You can add custom operatiors (see `test_operators.py` for examples), but the following CluedIn Rules operators are supported out of the box:

- `Is Not True`
- `Is True`
- `Begins With`
- `Between`
- `Contains`
- `Ends With`
- `Equals`
- `Exists`
- `Greater`
- `Greater or Equal`
- `In`
- `Is False`
- `Is Not Null`
- `Is Null`
- `Is True`
- `Less`
- `Less or Equal`
- `Matches pattern`
- `Not Begins With`
- `Not Between`
- `Not Contains`
- `Not Ends With`
- `Not Equal`
- `Does Not Exist`
- `Not In`
- `Does not match pattern`


**Full Changelog**: https://github.com/romaklimenko/cluedin/compare/2.3.0...2.4.0

2.3.0

GraphQL

- `cluedin.gql.entries(context: Context, query: str, variables: dict = None, flat=False) -> list` – returns entries from a GraphQL search query. If cursor is requested in the GraphQL query (see the example above and tests), then it proceeds to next pages to return all results. If `flat` is `True`, then it flattens the `properties` dictionary of each returned entity.

JSON

- `dump(file: str, obj: Any) -> None` – serialize obj as a JSON formatted stream to file.
- `load(file: str) -> Any` – deserialize file to a Python object.

**Full Changelog**: https://github.com/romaklimenko/cluedin/compare/2.2.0...2.3.0

2.2.0

What's new:

GraphQL

- `cluedin.gql.org_gql(context: Context, query: str, variables: dict = None) -> dict` – sends a GraphQL request to the Organization endpoint and returns a response.

What's Changed
* Bump requests from 2.30.0 to 2.31.0 by dependabot in https://github.com/romaklimenko/cluedin/pull/19

New Contributors
* dependabot made their first contribution in https://github.com/romaklimenko/cluedin/pull/19

**Full Changelog**: https://github.com/romaklimenko/cluedin/compare/2.1.0...2.2.0

Page 1 of 2

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.