Skip to content
Snippets Groups Projects
  1. Jan 15, 2021
  2. Jan 14, 2021
    • Brent Huisman's avatar
      Docs: define branch, mlocation, cv default. (#1302) · b10238e0
      Brent Huisman authored
      * Used Sphinx glossary directive to create terms that can be referred to in `concepts/morphology.rst` and `concepts/labels.rst`.
      * Added note box on difference with Neuron, add source for NEURON cylinder discretisation
      * Parameters added to svg generation script: turn off colors, root
      * Fix cpp TOC duplication, match ordering in other sections.
      * State default cv policy
      * center/re -> midpoints
      * Clarify and remove compartment term
      b10238e0
  3. Jan 11, 2021
    • thorstenhater's avatar
      More pythonic membership on mechanism_catalogue. (#1306) · d2623ecf
      thorstenhater authored
      Introduce two minor changes to the Python API
      to handle mechanism_catalogues idiomatically.
      
      Instead of
      
      import arbor as A
      
      cat = A.default_catalogue()
      
      if cat.has('hh'):
        print("Found HH.")
      
      for mech in cat.keys():
         print("*", mech)
      
      we can now write
      
      import arbor as A
      
      cat = A.default_catalogue()
      
      if 'hh' in cat:
        print("Found HH.")
      
      for mech in cat:
         print("*", mech)
      
      which is closer to the expectations of Python users.
      d2623ecf
    • Brent Huisman's avatar
      add numpy as runtime req (#1308) · 54ab542f
      Brent Huisman authored
      54ab542f
  4. Jan 08, 2021
  5. Jan 07, 2021
  6. Jan 06, 2021
  7. Jan 05, 2021
    • Brent Huisman's avatar
    • Brent Huisman's avatar
      Improve Recipe concept documentation · 808bb8fc
      Brent Huisman authored
      808bb8fc
    • Sam Yates's avatar
      Add unit test for 0-length segment area. (#1291) · e62db937
      Sam Yates authored
      * Add unit test that checks the expected contribution of an
      annulus to the embed_pwlin integrated area, when a zero-length segment
      with differing radii exists in the segment tree.
      e62db937
    • Benjamin Cumming's avatar
      Remove dependence of docs on the Python module (#1293) · d326f2ea
      Benjamin Cumming authored
      Revert a change introduced in #1282 that required the python module for arbor to build the documentation.
      
      This breaks the readthedocs build, where arbor is not available.
      
      * Remove arbor dependence from `doc/conf.py`, reverting to the original "out of core" approach
      * Fix other recently introduced issues that lead to CMake errors when configuring the documentation
        when the Python target is not configured.
        * The CMake variable `PYTHON_EXECUTABLE` wasn't set, but was required to make calls to the
           Python interpreter.
        * Instead of relying on pybind11 to find Python, explicitly detect it using `find_package(Python3 ...)`
        * Make Python3 a hard requirement when building the Python wrapper
        * And a soft requirement otherwise, that will fail only when the docs are built.
      d326f2ea
  8. Jan 04, 2021
  9. Dec 18, 2020
    • Nora Abi Akar's avatar
      Docs: Python examples (#1279) · 6ebfb3db
      Nora Abi Akar authored
      * Add 2 new examples to `python/examples` and their corresponding tutorials in the docs. 
          1. `single_cell_detailed.py` : a slightly more complex example using `single_cell_model`
          2. `single_cell_detailed_recipe.py`: equivalent to `single_cell_detailed.py` but using a recipe. 
      * Change `load_swc`-> `load_swc_arbor` for consistency.
      * Run Sphinx with specified PYTHON_EXECUTABLE.
      * Set PYTHONPATH env var in doc/CMakeLists.txt, such that it propagates correctly, including locally.
      * Build pyarb BEFORE html such that docs build can import arbor in Github Actions script.
      6ebfb3db
    • Nora Abi Akar's avatar
      Docs: Add missing class descriptions (#1280) · fdd30bda
      Nora Abi Akar authored
      Add API for `single_cell_model` and `label_dict`
      fdd30bda
    • Nora Abi Akar's avatar
      Docs: Miscellaneous (#1281) · d7c7c28e
      Nora Abi Akar authored
      * `concepts/cable_cell`: number subcategories to better illustrate document structure.
      * `concepts/labels`: concretize -> thingify; more on label dictionaries.
      * `concepts/mechanisms`: Some info on modcc, link to nmodl files in repo.
      * `concepts/morphology`: NeuroML section and some notes on branches/segments
      d7c7c28e
    • thorstenhater's avatar
      Expose `(segment id)` region expression. (#1282) · 5fcb14a1
      thorstenhater authored
      * Expose and document the (segment id) region expressions.
      * gen-labels.py was not up to speed with decor #1235.
      * The SWC example is read from disk and inserted into the docs verbatim.
      * The same file is used to generate the image.
      * The missing decor constructor has been added.
      * Generating inputs.py on the fly when building docs. That should prevent this issue from coming up again.
      5fcb14a1
  10. Dec 17, 2020
    • Brent Huisman's avatar
      Improved selection of default Python install path. (#1277) · 54b5c3ac
      Brent Huisman authored
      * Docs: emphasised the option of having pip install a local copy of the Arbor source.
      * CMake: default Python library install path to `${PYTHON_EXECUTABLE} -c "import sysconfig; print(sysconfig.get_path('platlib'))"`. Fixes #1100.
      * CMake: remove ARB_PYTHON_PREFIX option, added ARB_PYTHON_LIB_PATH option. We cannot know in general where in the prefix the packages are expected by Python.
      54b5c3ac
  11. Dec 16, 2020
  12. Dec 15, 2020
    • Nora Abi Akar's avatar
      Remove deleted example (#1286) · 0df4aa65
      Nora Abi Akar authored
      0df4aa65
    • Nora Abi Akar's avatar
      Fix Python build in GH Actions (#1285) · cca8b761
      Nora Abi Akar authored
      Python tests were failing because pyarb was not built
      cca8b761
    • thorstenhater's avatar
      Ci/gh actions (#1249) · 5037e597
      thorstenhater authored
      First step of replacing Travis with GithubActions
      
      Here, only a basic set of tests has been added
      
      - Build arbor with MPI and Python
      - Compile examples
      - Run unit tests, incl distributed.
      - Run python tests, incl distributed.
      - Run python examples.
      - Build documentation.
      5037e597
    • Sam Yates's avatar
      Python API for `place_pwlin`. (#1250) · ff06a4d9
      Sam Yates authored
      Wrap place_pwlin interface to allow querying rich geometry information from cell morphologies.
      
      * Add Python bindings for the `place_pwlin` and `isometry` classes.
      * Add equality test for Python `mpoint`.
      * Add unit tests for new Python interfaces.
      * Split C++ API morphology documentation into its own file.
      * Add C++ API and Python API documentation for `place_pwlin` and `isometry`.
      ff06a4d9
  13. Dec 14, 2020
    • Nora Abi Akar's avatar
      Expose global_properties in Python recipes (#1273) · 5fdfb02e
      Nora Abi Akar authored
      Extend Ptyhon recipe wrapper to support setting of global cell properties.
      
      * Rename `pyrecipe::get_probes` to `py_recipe::probes`
      * Remove `global_properties_shim` : It's easy to make mistakes with the class, as it holds a `mechanism_catalogue` and a `cable_cell_global_properties` which holds a pointer to the catalogue. This would likely have caused issues with the users.
      * Expose `py_recipe::global_properties`
      5fdfb02e
    • Benjamin Cumming's avatar
      Decor (#1235) · ac63809f
      Benjamin Cumming authored
      Make the `cable_cell` interface read only by passing the decorations
      to its constructor in a new `decor` type.
      
      C++ library
      * Remove the paint/place/set_default interface from `cable_cell`
      * Create a `decor` type that:
        * stores lists of paintings and placings
        * stores a set of cable cell parameters
        * uses the `paint`, `place`, `set_default` interface that was deprecated
          from `cable_cell`.
      * Create `paintable`, `placeable` and `defaultable` variants that are sum types
        over the respective types that can be painted, placed and defaulted.
      * Remove the overloaded `cable_cell::paint`, `cable_cell::place`,
        `cable_cell::set_default` methods to single methods that consume the sum types.
      
      Unit Tests
      * Many small changes because many many tests use cable cell API.
      * There were no `cable_cell` unit tests! Not such a big deal, since cable_cell
        is tested implicitly in so many other tests
        * but I added cable_cell tests: not much at the moment but will quickly fill
          up as we work on reading, writing, etc.                                                            
      
      Python
      * Wrap the new decor type.
      * Update cable cell type to reflect read only API.
      * Wrap the cv_policy types and implement the same operator overloading.
      ac63809f
    • Nora Abi Akar's avatar
      modcc : report linear test error. (#1278) · a597ff8d
      Nora Abi Akar authored
      Fix segfault in modcc when min/max used in net_receive.
      
      * The error occurred when a synapse that use `max` or `min` expressions in the `net_receive` block: we test for linearity to check whether they can be coalesced; we cannot differentiate the expression; an error is raised but not reported; seg fault. 
      * Fixes ` as_c_double` printing which does not print integers as doubles as intended. 
      
      Fixes #1275 
      a597ff8d
    • thorstenhater's avatar
      Fix GIL related error in pybind11 interface. (#1272) · 175c3b32
      thorstenhater authored
      Fix a latent bug in the Python wrapper that was triggered in pybind11 v2.6.1
      
      These changes ensure that the GIL is acquired before calling functions in C++ that
      may consume a Python object with reference count 1 as an argument, in which case
      the object's destructor is called at the end of the function, after any GIL acquired inside
      the function would have been released.
      
      Fixes #1271.
      175c3b32
  14. Dec 11, 2020
  15. Dec 10, 2020
  16. Dec 09, 2020
  17. Dec 08, 2020
    • Brent Huisman's avatar
      Fixes #1266 (#1267) · 3e8155eb
      Brent Huisman authored
      Replace CMAKE_SOURCE_DIR with PROJECT_SOURCE_DIR to pick up the correct paths when used as a sub-module.
      
      Fixes #1266.
      3e8155eb
  18. Dec 07, 2020
  19. Nov 30, 2020