Negmas

Latest version: v0.11.3

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

Scan your dependencies

Page 1 of 19

0.11.3

--------------

* [feature] Adding completion_callback to runall()

0.11.2

--------------

* Allow 0.11.* and 0.10.* signatures for the propose() method in SAONegotiator. You can now use any of the following signatures::

- def propose(self, state)
- def propose(self, state, dest)

0.11.1

--------------

* added scenarios.load_scenario() to load negotiation scenarios distributed in negmas. Currently only CameraB is available.
* Documentation update

0.11.0

--------------

* Freeing numpy version and passing data through
* minor: do not count None when counting types in issues
* minor: changing order of methods of controller
* Adding more negotiator accessors to controllers

* negotiators(self) -> dict[str, NegotiatorInfo]:
* unfinished_negotiators(self) -> dict[str, NegotiatorInfo]:
* finished_negotiators(self) -> dict[str, NegotiatorInfo]:
* to_start_negotiators(self) -> dict[str, NegotiatorInfo]:
* started_negotiators(self) -> dict[str, NegotiatorInfo]:
* active_negotiators(self) -> dict[str, NegotiatorInfo]:

* minor: better setting of time limits in run_session()
* Handling numpy arrays when dumping to yaml
* [bugfix] Passing python_class_identifier around
* When serializing/deserializing, not all classes were passing
* python_class_identifier which resulted in some of them always using
* [bugfix] __python_class__ which may lead to incorrect deserialization.
* Ensuring private_info is defined in mapneg
* Removing dependence on typing
* Passing extra_paths and extra_modules to deserialize and get_class
* Exporting calc_outcome_optimality from preferences.ops
* Avoid going too far when inverting a ufun
* Added passing numeric_prob to ufun generators. This allows us to generate ufun sets with outcome-spaces that are "sometimes" numeric.
* Allow passing kwargs to invert() in ufuns
* python_class_identifier in to_dict during serialization
* Using python-class-identifier everywhere
* This paramter to loading/saving functions allows the caller to change the identifier used to mark python classes in dumped files.
* Adding tau
* get_class returns None if given None
* Adding EnumeratingOutcomeSpace
* This outcome-space represents a set of outcomes with no issue structure.
* Supporting pydantic in serialization
* Compatibility with data-model-generator
* Adding intersection function to issues
* Renaming serial -> ordered in Mechanism.runall. This way it is less likely to be confused with sequential and it better represents what is happening.
* Adding ordering_fun for dynamic ordering runall
* Typing corrections
* More genius tests
* Passing a couple of tests of ufun inversion
* Github Action Updates
* Fixing testing is some Actions
* Casting conflict_level output to float
* Switching to uv
* Avoiding plotting unnecessarily in a tests
* Removing SAOCall and SAOPR from ALL_NEGOTIATORS
* Checking that all indices appear in the ordering
* Adding sequential option to Mechanism.runall()

* You can run negotiations sequentially in runall
* You can specify the ordering in serial runs explicitly

* Ufuns can have an invalid-value
* If the offer is not in the outcome-space and the invalid-value is not None, the invalid-value will be returned form __call__ in all ufuns formatting update
* Adding default negotiator type to all controllers
* bugfix: Adding context in controllers
* Extra copying of ufuns and private infos to avoid sharing a copy of the ufun or any private info between the negotiator and the scenario or the negotiators which can cause hard-to-find bugs
* Adding support for ANL-Agents in negotiate CLI. You can now use anl.anl2024.MissG for example as a negotiator. This will use the anl-agents package if it is installed. You can also pass --share-ufuns and --share-reserved-values to pass opponent ufuns (as in ANL 2024) to negotiators This makes it possible to run a negotiation like this:

bash
negotiate --plot -p sao -n anl.anl2024.Shochan -n anl.anl2024.AgentRenting2024 --steps=180 --share-ufuns --no-share-reserved-values
`

* Adding estimated_time_limit/n_steps to NMI
* Documenting private info
* Adding atomic_steps to all NMIs
* Adding history to all states. Moreover, we added extended_trace and trace to SAOP states
* Doc update: Improving upgrade guide
* feature: Adding ExtendedOutcome containing data
* Now SAO and GP negotiators can return an extended outcome from their proposal strategy which consists of an outcome and a dict with extra data. Examples include text, images, videos, arguments, etc. This is now supported for all SAOMechanism and GBMechanism(s).
* Generating ufuns with variable n_values
* Improving accuracy of inv-ufun
* Requiring final scores when complete_only
* Adding complete_only in Cartesian tournament combination
* Better loading-saving of cartesian tournaments
* Upgrading GitHub actions to avoid node 16
* Stop testing notebooks on 3.10
* Checking for NMI when filtering in controllers
* Adding timeout to all github actions
* Filtering unexpected offers before counter_all
* Adding is_clean() to controllers
* Checks that a controller has no negotiators and not internal state (i.e. it is in a blank state)
* Saving negotiation details in World
* Default to no neg-step-time-limit in World
* just-in-time filtering of ended negs to controllers
* Agent IDs and names in NMI match negotiator order
* Adding completed/done to MechanismState (= ended)
* [buffix] new_offers and dominant_outcomes init
* These were incorrectly intialized to a type list instead of an empty list.
* Adding Kalai-Smorodinsky to stats
* The current implementation is approximate
* Mechanism params saved in scenarios in tournaments
* Minor printing improvement in tournaments

0.10.23

---------------

* Tournament combination in Cartesian tournaments

* Cartesian tournaments were structured to allow for saving and loading
* Added load/save/combine to SimpleTournamentResults
* Added combine_tournament for combining on disk tournament results with control on copying and scenario renaming

* Adding max-tasks-per-child to all tournaments
* Supporting world-timeout in tournaments
* Do not end tournaments if a single future timesout

0.10.22

---------------

* Saving repeated runs in cartesian tournaments.
* Adding sort_runs to cartesian tournaments. Passing sort_runs overrides randomize_runs and causes smaller scenarios to be negotiated first. Scenario's size is the product of the outcome-space cardinality, number of steps, and time-limits.
* Improving parallelism in cartesian tournaments:

* Adding max-tasks-per-process
* Adding external_timeout to cartesian tournaments. This parameter is only effective for parallel runs and enforces and external timeout on all tasks. This will avoid waiting for slow negotiators but it has the disadvantage of causing the main thread to never end. Tournaments may now need C-c to end.
* Adding _InfiniteWaiter negotiator for testing
* Accepting None for hidden_time_limit in Mechanism.

Page 1 of 19

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.