Comments (5)
there is a similar issue with LayerModel
, Material
and DarwinModelAlloy
which are not usable themselves, but serve as a useful abstraction for derived classes
from xrayutilities.
Hi Dominik. If I understood that correctly there is no way to render a class pure abstract in Python as long as you want to support both, Python 2.7 and Python 3.X. In Python 3.X ABC would be the right way to go.
from xrayutilities.
I will investigate to which level the abc is usable in python 2.7. I think the goal of this is not to make this 100% clean from programming point of view, but to deliver a reasonable error message to the user when he wants to initialize one of these classes which are not fully functional...
from xrayutilities.
@eugenwintersberger could you comment on the mentioned commit? from my point of view thats a viable solution for this issue. if you agree i will put a similar code into the other mentioned classes.
the python2 & 3 compatible code was taken from https://stackoverflow.com/questions/35673474/using-abc-abcmeta-in-a-way-it-is-compatible-both-with-python-2-7-and-python-3-5
from xrayutilities.
I consider this issue solved for the moment. Once only python3.3+ is considered as target version one could make improvements and use new functionality of the abc module.
from xrayutilities.
Related Issues (20)
- make it possible to show different planes in reciprocal space (xu.materials.show_reciprocal_space_plane)
- Clarification of `Experiment` parameters `ndir`, `idir` and `sampleor` HOT 1
- Implementation of the anisotropic Poisson ratio
- Implementation of multiprocessing for simpack.DynamicalModel HOT 6
- installation with pyproject.toml produce a warning about the data HOT 4
- 1.7.4 warning during the Debian build process (test) HOT 1
- C-code does not respect the xrayutilities.config.VERBOSITY
- add doctest integration in the azure pipelines
- implementation of FitModel is very weird
- _area_detector_calib_fit is an empty function? HOT 2
- Testdata for Mythen Detector HOT 3
- numpy 1.25 deprecation warnings
- Stacking orientation of non-cubic layers HOT 8
- Loading .ras Files HOT 5
- Import error with numpy.core.multiarray HOT 3
- Positional arguments in KinematicalModel.simulate() HOT 3
- multiprocessing not using multiple threads HOT 1
- how to perform reciprocal space mapping HOT 3
- Exceptions in thread during Convolve gets stuck waiting for results instead of throwing an error in the main function call HOT 6
- lmfit 1.3.0 breaks simpack.FitModel HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from xrayutilities.