Negmas

Latest version: v0.11.3

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

Scan your dependencies

Page 12 of 19

0.5.0

Not secure
-------------

- [genius] adding ParsCat as a Genius Agent
- [situated] added agent specific logs to situated
- [situated] adding simulation steps after and before entity/contract execution
- [situated] adding ignore_contract to ignore contracts completely as if they were never concluded
- [siutated] adding dropped contracts to the possible contract types. Now contracts can be concluded, signed, nullified, erred, breached, executed, and dropped
- [situated] Correcting the implementation of TimeInAgreementMixin taking into account batch signing
- [situated] Added aggregate management of contract signing through sign_all_contracts and on_contracts_finalized. We still support the older sign_contract and on_contract_signed/cancelled as a fallback if sign_all_contracts and on_contracts_finalized are not overriden
- [situated] Now contract related callbacks are called even for contracts ran through run_negotaiation(s)
- [situated] added batch_signing to control whether contracts are signed one by one or in batch. Default is batch (that is different from earlier versions)
- [situated] added force_signing. If set to true, the sign_* methods are never called and all concluded negotiations are immediately considered to be signed. The callbacks on_contracts_finalized (and by extension on_contract_signed/cancelled) will still be called so code that used them will still work as expected. The main difference is in timing.
- replacing -float("inf") with float("-inf") everywhere

0.4.4

Not secure
-------------

- replacing -float("inf") with float("-inf") everywhere
- [core] avoid importing elicitation in the main negmas __init__
- [concurrent] renaming nested module to chain
- [documentation] improving module listing
- [concurrent] Adding a draft implementation of MultiChainMechanism with the corresponding negotiator
- [elicitors] adding a printout if blist is not available.
- [documentation] improving the structure of module documentation
- [core] Defaulting reserved_value to -inf instead of None and removing unnecessary tests that it is not None
- [core] default __call__ of UtilityFunction now raises an exception if there is an error in evaluating the utility value of an offer instead or returning None
- [core] Adding minmax and outcome_with_utility as members of UtilityFuction. Global functions of the same name are still there for backward compatibility
- [CLI] improving path management for windows environments.
- black formatting

0.4.3

Not secure
-------------

- [mechainsms] Allowing mechanisms to customize the AMI for each negotiator
- [concurrent] Adding ChainNegotiationMechanism as a first example of concurrent negotiation mechanisms.
- [core] avoiding an import error due to inability to compile blist in windows
- [core] removing the global mechanisms variable and using an internal _mechanism pointer in AMI instead.

0.4.2

Not secure
-------------

- [situated] Adding events to logging and added the main event types to the documentation of the situated module
- [situated] Do not create log folder if it is not going to be used.
- [negotiators] adding parent property to negotiator to access its controller

0.4.1

Not secure
-------------

- [Situated] adding accepted_negotiations and negotiation_requests to Agent (see the documentation for their use).
- [Situated] Now running_negotiations will contain both negotiations requested by the agent and negotiations accepted by it.
- [helpers] Adding microseconds to unique_name when add_time is True
- [Setup] separating requirements for elicitation and visualization to avoid an issue with compiling blist on windows machines unnecessarily if elicitation is not used.
- [core] adding is_discrete as an alias to is_countable in Issue
- [style] styling the mediated negotiators with black
- [core] resolving a bug in random generation of outcomes for issues with a single possible value
- [situated] resolving a bug that caused negotiations ran using run_negotiations() to run twice
- [core] making SAO mechanism ignore issue names by default (use tuples instead of dicts) for negotiation
- [core] allowed json dumping to work with numpy values
- [bug fix] Random Utility Function did not have a way to get a reserved value. Now it can.
- [core] Merging a pull request: Add mediated protocols
- [core] using num_outcomes instead of n_outcomes consistently when asking for n. outcomes of a set of issues
- [core] improving the robustness of Issue by testing against Integral, Real, and Number instead of int and float for interoperability with numpy
- [core] converted Issue.cardinality to a read-only property
- [core] converted Issue.values to a read-only property
- [core] improving the implementation of Issue class. It is now faster and supports Tuple[int, int] as values.
- [doc] preventing setting theme explicitly on RTD
- [doc] minor readme edit
- [doc] correcting readme type on pypi

0.4.0

Not secure
--------------

- Moving the SCML world to its own repository (https://github.com/yasserfarouk/scml)

Page 12 of 19

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.