swift-sh
spellbook
Our great sponsors
swift-sh | spellbook | |
---|---|---|
4 | 3 | |
1,772 | 3 | |
- | - | |
2.9 | 7.1 | |
2 months ago | 9 months ago | |
Swift | TypeScript | |
The Unlicense | - |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
swift-sh
- Ask HN: Share a shell script you like
-
Using Swift for Scripting
Yes, swift CLI will compile and run your swift file.
But many people also want to use libraries. For Python, they use the system libraries or work within an environment with installed libraries (i.e., the library-install process happens at environment-configuration time).
In Swift, the easiest way to consume libraries is using packages, but that requires a Package.swift declaring the project scope for the script file (which must comply with top-level and main-entrypoint code requirements).
The easiest way to do that when scripting is a swift tool that manages the process of gathering your library dependencies, auto-generating a project, building the tool, and caching it all so there's no overhead the next time.
The best available tool now is https://github.com/mxcl/swift-sh. It reads dependency information off import comments.
It can also generate the project for you, if/when you want to build in XCode (e.g., move into a more complex application, perhaps requiring sandbox declarations).
Working scripts are not always updated, so any script-build tool has to maintain backwards compatibility, but the swift package manager has changed a lot in recent versions. swift-sh seems to err on the side of backwards compatibility, and does not support e.g., the most recent dependency versioning styles.
Swift-forum discussions about better support for scripting haven't resulted in any official tooling.
- On Env Shebangs
-
Did anyone tried to run swift on raspberry pi before? I managed to install swift on my raspberry pi and print hello wold. Butbwhen i tried to do the same after 10 seconds it didnt work. Any idea why it didn’t print? DispatchQueue.main.asyncAfter(deadline: .now() + 10) { print(“Hello world”) }
Note that this has nothing to do with the Raspberry Pi. You'll have the same issue running on the command-line. If you wish to test your programs on your computer where you have more tools and horse-power, I find swift-sh gives a good command-line experience and is a great alternative to Playgrounds especially for small tests.
spellbook
-
Ask HN: How do you find contributors to open source projects?
- Spellbook: Shell and Powershell scripts registry - https://github.com/jmaczan/spellbook demo https://spellbook.maczan.pl/ [Python, TypeScript]
-
Ask HN: Share a shell script you like
Hi, I'd like to ask what are the shell scripts you enjoy using or find useful?
It might be something you incorporated to your terminal-based workflow. Or maybe some specific scripts that you often reuse. Or you have used it once, but it might be useful to other people. Or maybe you just have a script that is fun to use? Please share
My (not anymore) hidden intention is to gather your recommendations to build an open-source shell script registry Spellbook https://spellbook.maczan.pl/ Source code is here for you if you want to self host or fork it https://github.com/jmaczan/spellbook
A script I sometimes use is a commands repeater https://github.com/jmaczan/spellbook/blob/main/registry/spells/repeat-sh/spell.sh You can specify an interval and a flag to reset/keep the terminal's content after a script invocation
Thanks!
What are some alternatives?
resholve - a shell resolver? :) (find and resolve shell script dependencies)
pyxargs - Command line Python scripting with an xargs-like interface and AWK-like capabilities for data processing and task automation
stderred - stderr in red
fuz - Fuzzy search text / notes in the terminal, for any collection of text files
dotfiles
Alamofire - Elegant HTTP Networking in Swift
vim-mergetool - Better vim-based mergetool
SwiftBar - Powerful macOS menu bar customization tool
autobots - ⚡️ Scripts & dotfiles for automation and/or bootstrapping new system setup