Comments (7)
Thank you for reporting us your feedback!
The internal ticket has been created: https://warthogs.atlassian.net/browse/CRAFT-2572.
This message was autogenerated
from charmcraft.
Hi @bittner. Out of curiosity, what is your use-case for consuming Charmcraft as a Python package (instead of the snap)?
from charmcraft.
Most importantly, installing a snap in a Dockerfile
is not trivial. I maintain a charmcraft container image for pipeline automation, and I'm happy it can be installed just as a normal Python package.
Apart from that, I want to work on Juju Charms preferably with a pure Python tool chain. Also, I think it's fair to assume that developers using a popular (Open Source) Python package expect that it can, primarily, be installed from PyPI.
As for another argument, I use Ubuntu, and of course, I can install a snap - at least on my development machine -, but I have other people in the teams that I work with that prefer to use macOS or Windows. How can I convince them that it's great to work with Juju Charms when it requires them to abandon their preferred environment?
from charmcraft.
Thank you for the reply, this is very interesting. I definitely hear you on the Docker restriction on snaps, and I didn't know people were able to effectively use Charmcraft as a Python package in non-Linux environments.
from charmcraft.
I didn't know people were able to effectively use Charmcraft as a Python package in non-Linux environments.
TBH, I've not tried charmcraft on anything but Ubuntu, but I assumed that the OS-independent nature of Python is why charmcraft was implemented with it. Not sure what charmcraft features would require to be limited to Linux, or even Ubuntu. The snap packaging, OTOH, certainly is a limiting factor. A friend of mine who uses Arch Linux preferred to come up with a Vagrant setup (with Ubuntu) for charm development.
As by the example in #1580 (comment), the recent improvements on charmcraft were good to have released on PyPI, so that a few more CI use cases could be made possible. 💯
from charmcraft.
Not sure what charmcraft features would require to be limited to Linux, or even Ubuntu
I was thinking of building using managed lxd instances, but if you're using this in a Docker container that wasn't your use case.
from charmcraft.
homebrew does prefer pure pypi toolchain as well, I think it is good to publish sdist to pypi for downstream packaging manager use in general
from charmcraft.
Related Issues (20)
- Incompatibility with latest LXD LTS HOT 11
- Add debugging logic to spread file HOT 1
- Allow `charmcraft status anycharm` for everyone HOT 3
- Deploying charm from branch channel does not get the right OCI image HOT 2
- Have to run charmcraft clean after adding a new integration HOT 2
- Add more charmhub related metadata to init templates HOT 1
- Document permissions, channels, etc. in Charmhub login HOT 3
- `login` command should validate channel names as full channel names HOT 1
- `failed to run apt update` on simultaneous builds HOT 8
- `charm-python-packages` does not guarantee these packages are installed before packages in `requirements.txt` HOT 2
- internal error: TypeError("'NoneType' object is not iterable") when running charmcraft login HOT 1
- Update command docs for the unification of charmcraft.yaml HOT 1
- `fetch-libs` command requires being logged into charmhub HOT 2
- Charmcraft login fails HOT 2
- `fetch-libs` crashes with an internal error HOT 2
- Allow Charmcraft to upload a rock directly from the file or directly between registries HOT 2
- Multi-arch OCI image incorrectly uploaded to Charmhub registry HOT 4
- Enable CI/CD for TIOBE TiCS HOT 1
- Set up reference documentation with Sphinx HOT 1
- Add option to `upload-resource` to upload an OCI image directly from a file. 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 charmcraft.