Skip to content

Tags: wmayner/pyphi

Tags

archive/old-relation-implementation

Toggle archive/old-relation-implementation's commit message

Verified

This commit was signed with the committer’s verified signature.
wmayner William Mayner
Merge remote-tracking branch 'refs/remotes/origin/feature/iit-4.0' in…

…to feature/iit-4.0

archive/old-big-phi-implementation

Toggle archive/old-big-phi-implementation's commit message

Verified

This commit was signed with the committer’s verified signature.
wmayner William Mayner
Merge remote-tracking branch 'refs/remotes/origin/feature/iit-4.0' in…

…to feature/iit-4.0

archive/congruence-ratio

Toggle archive/congruence-ratio's commit message

Verified

This commit was signed with the committer’s verified signature.
wmayner William Mayner
relations: Consolidate phi schemes

- Remove congruence ratio logic
- Update AnalyticalRelations.sum_phi() for new phi schemes

max-max-min

Toggle max-max-min's commit message

Verified

This commit was signed with the committer’s verified signature.
wmayner William Mayner
Add Ray configuration

big-phi-dask

Toggle big-phi-dask's commit message

Verified

This commit was signed with the committer’s verified signature.
wmayner William Mayner
conf: Use 4.0 defaults

1.2.1

Toggle 1.2.1's commit message
Hotfix v1.2.1

Fix #38: configuration in subprocesses

Configuration options that had been directly assigned within the
interpreter were not respected in subprocesses spawned by `MapReduce`
instances because of a change in the system call used by
`multiprocessing`. In Python 3.8 and above, it's `spawn` instead of
`fork`, so the subprocess no longer has access to the parent's memory,
and a new configuration object is created. Now `MapReduce` will pass the
parent's config object to the subprocess, which loads it.

Note:
  - the issue still arises when parallelization is done by the user
    utside of PyPhi.
  - the issue only affects direct assignment to the config object; using
    the `pyphi_config.yml` file still works as intended in both cases.

show

Toggle show's commit message

Verified

This commit was signed with the committer’s verified signature.
wmayner William Mayner
Bump version to 1.2.1

1.2.0

Toggle 1.2.0's commit message

Verified

This tag was signed with the committer’s verified signature.
wmayner William Mayner
Release v1.2.0

Fixes:
- Fixed a bug introduced into `pyphi.utils.load_data()` by a breaking
  change in recent versions of NumPy that caused an error on import.
- Fixed a bug where changing `config.PRECISION` dynamically did not
  change `constants.EPSILON`, causing some comparisons that relied on
  `constants.EPSILON` to not reflect the new precision.
- Changing `config.FS_CACHE_DIRECTORY` and `config.FS_CACHE_VERBOSITY`
  now causes a new `joblib.Memory` cache to be created. Previously,
  changing these options dynamically had no effect.
- Made test suite compatible with stricter usage of `pytest` fixtures
  required by recent versions of `pytest`.

API additions:
- Added `pyphi.tpm.reconstitute_tpm()`.

API changes:
- Renamed `pyphi.partition.partition_registry` to
`pyphi.partition.partition_types`.
- Renamed `pyphi.distance.bld()` to `pyphi.distance.klm()`.
- Fixed the connectivity matrix of the
  `disjunction_conjunction_network()`.
- Removed `'expanded_*_reperotire'` attributes of JSON-serialized
  `Concept`s.

Config:
- Added the `WELCOME_OFF` option to turn off the new welcome message.

Documentation:
- Added documentation for the `partition_types` registry.
- Added documentation for the filesystem and database caches.

1.1.0

Toggle 1.1.0's commit message

Verified

This tag was signed with the committer’s verified signature.
wmayner William Mayner
Release v1.1.0

Fixes:
- Fixed a memory leaked when concepts returned by parallel CES computations
  were returned with distinct subsystem objects. Now all objects in a CES share
  the same subsystem reference.
- Fixed a race condition caused by newly introduced `tqdm` synchronization.
  Removed the existing `ProgressBar` implementation and pinned `tqdm` to
  version >= 4.20.0.
- Made model hashes deterministic (6b59061). This fixes an issue with the Redis
  MICE cache in which cached values were not shared between processes and
  program invokations.

API additions:
- Added a `NodeLabels` object for managing the labels of network elements. Most
  models now carry a `NodeLabels` instance that is used for string formatting.
- Added the `cut_node_labels` property to `Subsystem` and `MacroSubsystem`.
- Added `utils.time_annotated` decorator to measure execution speed.

API changes:
- Specifying the nodes of a `Subsystem` is now optional. If not provided, the
  subsystem will cover the entire network.
- Removed the `labels2indices`, `indices2labels` and `parse_node_indices`
  methods from `Network`, and the `indices2labels` method from `Subsystem`.
- Renamed `config.load_config_file` to `config.load_file`, and
  `config.load_config_dict` to `config.load_dict`
- Removed backwards-compatible `Direction` import from `constants` module.
- Renamed `macro.coarse_grain` to `coarse_graining`.
- Exposed `coarse_grain`, `blackbox`, `time_scale`, `network_state` and
  `micro_node_indices` as attributes of `MacroSubsystem`.

Config:
- Removed the `LOG_CONFIG_ON_IMPORT` configuration option.

1.0.0

Toggle 1.0.0's commit message
Release v1.0.0

API changes:
------------

Modules
- Renamed:
  - `compute.big_phi` to `compute.network`
  - `compute.concept` to `compute.subsystem`
  - `models.big_phi` to `models.subsystem`
  - `models.concept` to `models.mechanism`

Functions
- Renamed:
  - `compute.main_complex()` to `compute.major_complex()`
  - `compute.big_mip()` to `compute.sia()`
  - `compute.big_phi()` to `compute.phi()`
  - `compute.constellation()` to `compute.ces()`
  - `compute.conceptual_information()` to `compute.conceptual_info()`
  - `subsystem.core_cause()` to `subsystem.mic()`
  - `subsystem.core_effect()` to `subsystem.mie()`
  - `subsystem.mip_past()` to `subsystem.cause_mip()`
  - `subsystem.phi_mip_past()` to `subsystem.phi_cause_mip()`
  - `subsystem.phi_mip_future()` to `subsystem.phi_effect_mip()`
  - `distance.small_phi_measure()` to `distance.repertoire_distance()`
  - `distance.big_phi_measure()` to `distance.system_repertoire_distance()`
  - For all functions in `convert`:
    - `loli` to `le` (little-endian)
    - `holi` to `be` (big-endian)
- Removed `compute.concept()`; use `Subsystem.concept()` instead.

Arguments
- Renamed `connectivity_matrix` keyword argument of `Network()` to `cm`

Objects
- Renamed `BigMip` to `SystemIrreducibilityAnalysis`
  - Renamed the `unpartitioned_constellation` attribute to `ces`
  - `sia` is used throughout for attributes, variables, and function names
    instead of `big_mip`
- Renamed `Mip` to `RepertoireIrreducibilityAnalysis`
  - Renamed the `unpartitioned_repertoire` attribute to `repertoire`
  - `ria` is used throughout for attributes, variables, and function names
    instead of `mip`
- Renamed `Constellation` to `CauseEffectStructure`
  - `ces` is used throughout for attributes, variables, and function names
    instead of `constellation`
- Renamed `Mice` to `MaximallyIrreducibleCauseOrEffect`
  - `mic` or `mie` are used throughout for attributes, variables, and function
    names instead of `mip`
- Similar changes were made to the `actual` and `models.actual_causation`
  modules.

Configuration settings
- Changed configuration settings as necessary to use the new object names.

Constants
- Renamed `Direction.PAST` to `Direction.CAUSE`
- Renamed `Direction.CAUSE` to `Direction.EFFECT`

API additions:
--------------

Configuration settings
- Added `CACHE_REPERTOIRES` to control whether cause/effect repertoires are
  cached. Single-node cause/effect repertoires are always cached.
- Added `CLEAR_SUBSYSTEM_CACHES_AFTER_COMPUTING_SIA` to control whether
  subsystem caches are cleared after calling `compute.sia()`.

Objects
- Added two new objects, `MaximallyIrreducibleCause` and
  `MaximallyIrreducibleEffect`, that are subclasses of
  `MaximallyIrreducibleCauseOrEffect` with a fixed direction.

Refactor:
---------

- Moved network-level functions in `compute.big_phi` to
  `pyphi.compute.network`
- Moved subsystem-level functions in `compute.big_phi` and `compute.concept` to
  `compute.subsystem`

Documentation:
--------------
- Added a description of TPM representations.
- Improved the explanation of conditional independence and updated the example
  to reflect that PyPhi now raises an error if a conditionally-dependent TPM is
  provided.
- Added detailed installation instructions.
- Little-endian and big-endian replace LOLI and HOLI terminology
- Added documentation for the following modules:
  - `distribution`
  - `cache`
  - `compute.parallel`
  - `compute` top-level module
  - `module` top-level module