Comments (4)
I think that for now we could choose the first option, but would be temporary.
I would plan to code split the project and create to separate CLIs:
- cotp.
- The second would be the importer which contains the importing logic, the rewritten ones from python and the existing ones in cotp.
- One shared library
This would permit:
- Better code splitting from my side
- Smaller binary size of cotp
- Simple logic from your side, two rust packages without optional dependencies, random python scripts and so on
Let me know your thoughts.
from cotp.
Lets go for a hybrid: direct to option 2 but "temporarily" as the contents of the second package will shift dramatically as you split up the actual upstream organization.
I wouldn't care at all if the converters logic was actually done in rust or python ... the latter option might even be easier to spin up importers for various systems that have Python libraries available. I would just organize it all so there was a common CLI interface that loaded the correct converter script (via subcommand?). It could be a hybrid too.
from cotp.
Here is a version of testing version of a split package: cotp-converters. It can be installed directly without enabling the [testing] repository like this:
$ pacman -U https://archlinux.org/packages/extra/x86_64/cotp{,-converters}/download/
It isn't clear to me what Python modules are required for runtime. The requirements.txt
file here seems to be mostly developer / deployment tooling, not run time dependencies. Can you comment on what additional Python stuff outside fo the stdlib is currently needed at runtime?
from cotp.
No external dependencies are required to run these python importers. I think that the requirements.txt
file is misleading and will be removed in the next project refactor. Tried to install the cotp-converters
package and I can see the scripts under my /usr
folder 👍
from cotp.
Related Issues (20)
- Error editing entry HOT 4
- Use color-eyre crate for error handling
- Configure Cache in CI/CD
- Use once_cell crate for lazy initialization
- Export to widely know format HOT 3
- Migrate to ratatui as tui-rs is unmainteined
- [Feature request] Is it possible to add URI string format support for both import and export HOT 13
- [Feature request] Is it possible to support some kind(s) portable mode? HOT 11
- [Feature request] Is it possible to add a Page Up/Down page navigation feature for the UI HOT 1
- Consider using the xdg specification HOT 6
- Chromium 117 freezes for several seconds when attempting to paste the token
- Minor typo s/chages/changes HOT 1
- convert export.cotp HOT 7
- The automated release is failing 🚨
- How can I use Cotp with Microsoft Teams? HOT 1
- Feature Request: A way to share HOTP/TOTP URI outside of QR encoding HOT 2
- No way to import OTP URIs as strings (from stdin or arguments) without files HOT 4
- `cotp import --otp-uri --path [file]` doesn't seem to work HOT 2
- Feature request: add subcomannd `list` to list entries HOT 3
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 cotp.