Metadata-Version: 1.1
Name: pybinding
Version: 0.9.5
Summary: Package for tight-binding calculations
Home-page: https://github.com/dean0x7d/pybinding
Author: Dean Moldovan
Author-email: dean0x7d@gmail.com
License: BSD
Description: Documentation: http://pybinding.site/
        
        v0.9.5 | 2020-08-30
        
        It has been a long time since the last version was released. The Python ecosystem has changed
        quite a bit in the meantime and this has led to a number of compatibility issues when installing
        or running pybinding. The main purpose of this new version is to bring this library back to life
        with lots of compatibility fixes and general modernization. 
        
        That said, a couple of new features have also snuck in: site and hopping generators should help
        with the creation of more general models that were not possible before. They make it possible to
        create heterostructures and systems with various forms of disorder.  
        
        Thank you to [@MAndelkovic (Miša Anđelković)](https://github.com/MAndelkovic)
        for making this release possible! And thanks to everyone who reported the various issues.
        
        #### Necromancy
        
        * Fixed compatibility issues with Python 3.7 and 3.8. Notably, this fixes the deadlocks as 
          reported in [#17](https://github.com/dean0x7d/pybinding/issues/17),
          [#21](https://github.com/dean0x7d/pybinding/issues/21), and 
          [#23](https://github.com/dean0x7d/pybinding/issues/23).
        
        * Fixed compatibility with new versions of `matplotlib`: the `allow_rasterization` import error
          ([#11](https://github.com/dean0x7d/pybinding/issues/11)), various warnings, and smaller visual
          glitches.
        
        * Fixed installation errors due to the encoding of the `changelog.md` file 
          ([#7](https://github.com/dean0x7d/pybinding/issues/7)).
        
        * Fixed failure to compile the project from source code because the Eigen library's download URL 
          changed ([#14](https://github.com/dean0x7d/pybinding/issues/14)).
        
        * Fixed deprecation warnings from the latest versions of `numpy`.
        
        * Fixed documentation generation with `sphinx` v2.x. 
        
        * Dropped support for Python 3.5. You must have Python 3.6 or newer to install this version.
        
        #### General bug fixes
        
        * Fixed reversed order of `Lattice.reciprocal_vectors()`: it should be `a_n * b_n = 2pi` but it was
          accidentally `a_n * b_{N-n} = 2pi`.
        
        * Fixed incorrect Hamiltonian construction in cases where complex hoppings were used together
          with translational symmetry.
        
        #### New features
        
        * Added `@site_generator` which can be used to add new sites independent of the main `Lattice` 
          definition. This is useful for creating heterostructures or defects with various add-atoms.
          See the new "Generators" section of the tutorial.
        
        * `@hopping_generator` has been promoted to a regular feature and added to the tutorial. It's 
          useful for creating additional local hoppings around existing sites or connecting completely new 
          sites which were added by a `@site_generator`.
        
        * Added `System.count_neighbors()` which counts the neighbors each site has. Useful for finding 
          edge atoms. Generators can request `system` as an argument so that they can stitch new atoms 
          to the edges. See the API reference for `@site_generator` and `@hopping_generator`.
        
        * `@site_state_modifier`s and `@site_position_modifier`s can now be freely ordered. Before this,
          all state modifiers would be evaluated first and then all position modifiers. Now, they will
          be evaluated in the exact order in which they are given to `Model`. Take care: this may change 
          the behavior of some existing models but it will give more control to create new models which
          not possible before.
        
        
Keywords: pybinding tight-binding solid-state physics cmt
Platform: Unix
Platform: Windows
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Science/Research
Classifier: Topic :: Scientific/Engineering :: Physics
Classifier: License :: OSI Approved :: BSD License
Classifier: Programming Language :: C++
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: Implementation :: CPython
