Cluedin

Latest version: v2.6.0

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

Scan your dependencies

Page 1 of 2

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

2.1.0

What's new:

Account
- `cluedin.account.get_invitation_code(context: Context, email: str) -> str` – returns an invitation code for a given email.
- `cluedin.account.create_organization(context: Context, user_email: str, password: str, org_name: str, org_sub_domain: str = None, email_domain: str = None, allow_email_domain_signup: bool = True, new_account_access_key: str = None) -> dict` - creates a new Organization. This method returns a JSON-response serialized into a `dict`.
- `cluedin.account.create_user(context: Context, user_email: str, user_password: str) -> requests.models.Response` – creates a new user. This method returns `requests.models.Response`.
- `cluedin.account.create_admin_user(context: Context, user_email: str, user_password: str) -> requests.models.Response` – creates a new admin user. This method returns `requests.models.Response`.
- `cluedin.account.get_user(context: Context, user_id: str = None) -> dict` – returns a user by ID. If `user_id` is nor provided, the current user is returned. This method returns a JSON-response serialized into a `dict`.

Entity
- `cluedin.entity.get_entity_blob(context: Context, entity_id: str) -> str` – returns an entity blob by ID.
- `cluedin.entity.get_entity_as_clue(context: Context, entity_id: str) -> str` – returns an entity as a clue by ID.

Vocabulary
- `cluedin.vocab.get_vocab_keys(context: Context) -> list` – gets all vocabulary keys.

What's Changed
* 2.1.0 by romaklimenko in https://github.com/romaklimenko/cluedin/pull/17


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

Page 1 of 2

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.