Comments (7)
I thought about this one and I think there is an easy way to solve it: So basically, our colour
is an actual package whilst the Pypi colour
package is a single module, it has also not received any updates in a while which probably makes it very stable. With that in mind and because packages do take precedence over module, I think that we should be able to import the colour
Pypi module objects into our namespace. I will take a better look but I don't think there will be clashes. It is properly disgusting but it should work.
from colour.
References vaab/colour#62
from colour.
Assuming it works as intended, I'm fine with the suggested fix. Certainly not clean or pretty, but it would be an improvement over the current status quo.
from colour.
Please let me know once you release a new version that contains the new feature.
from colour.
In December sometimes ideally, with Python 3.12 compat.
from colour.
After having tried it out, I can confirm it works. However there are some aspects that are not ideal.
-
It's an explicit opt-in, so being spammed with dozens of lines of warnings every time is really not great
-
Usually in Python you can set the env variables directly in the import code e.g.:
import os
os.environ["COLOUR_SCIENCE__COLOUR__IMPORT_VAAB_COLOUR"] = "True"
# Has to come first, because it re-imports vaab/colour symbols needed by manim.
import colour
from manim import *
However this does not work here. Because the manim tool imports manim out of control of the user, which forces this property into end users of the tooling. Which I'd like to avoid.
from colour.
Hi @Voultapher,
We discussed about this with the other Colour developers and it was preferred to have an opt-in behaviour, what we do here is dodgy as hell.
The warnings are admittedly annoying and I will add another environment variable to disable them in a future release.
Because the manim tool imports manim out of control of the user, which forces this property into end users of the tooling. Which I'd like to avoid.
Because it is opt-in, there won't be really other alternatives than either having the user to explicitly enable the injection or provide them wrappers that do so.
Cheers,
Thomas
from colour.
Related Issues (20)
- When will the next version up come?
- [FEATURE]: Implement "Modifications of the Robertson Method for Calculating Correlated Color Temperature to Improve Accuracy and Speed" HOT 1
- How to use recent `ColourChecker` related code? HOT 1
- [FEATURE]: Implement support for global to set the `colour.plotting.render` et al. defaults.
- [FEATURE]: Implement support for *Apple Log Profile*. HOT 2
- [BUG]: Unable to use the `colour.RGB_to_XYZ` definition. HOT 3
- [BUG]: *nan* are generated by `colour.difference.delta_E_CIE1994` definition. HOT 3
- How to convert Rec.709 color space to Sony S-Gammut color space? HOT 2
- [BUG]: Write LUT without extension HOT 3
- [BUG]: Exception raised in `colour.plotting.plot_RGB_scatter` definition. HOT 4
- [FEATURE]: Implement support for "Weighted Geometric Mean (WGM) method: A new chromatic adaptation model".
- [BUG]: Numerical precision issues with CIECAM02 and CIECAM16 for L_A = 0 and Y_b = 0 HOT 18
- [BUG]: sRGB to CAM whitepoint (D65) inconsistent? HOT 6
- [DOCUMENTATION]: Typo in spectral upsampling docs HOT 1
- [BUG]: Planckian locus CCT curves come out of plot HOT 2
- [FEATURE]: Implement support for *sCAM* colour appearance model.
- [ENHANCEMENT] ARRI White paper now gives matrices to 18 decimal places. HOT 1
- [FEATURE]: Implement smooth D and ID illuminants in CIE 204:2013 "Methods for Re-defining CIE D Illuminants" HOT 3
- [FEATURE]: Implement support for Python Array API Standard. HOT 19
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 colour.