Universal Package Managers? Meet the State Tool

State Tool Package Manager

As an open source company, ActiveState has a long history of creating, publishing and contributing to open source. And now that the Command Line Interface (CLI) for the ActiveState Platform, the State Tool, has reached its milestone, we’re releasing it to the community via our State Tool GitHub repository.

Written in Go, the State Tool is designed to (ultimately) be a cross-platform, universal package manager for dynamic open source language runtimes. Currently, it supports Python and Perl, and can be installed on Windows, Linux and Mac.

State Tool GitHub Repository

Not Just Another Package Manager

The State Tool is being designed for us: developers, with the goal of resolving all those day to day issues that prevent us from just writing code. Issues we’re currently tackling with the goal of them simplifying them, include:

  • Environment Management, because per project virtual environments are a best practice
  • Secrets Management, because we need a simple way to securely share secrets so we can stop Slacking them (hello Twitter)
  • Cross-Platform Scripting, because some of us are using Windows
  • Dependency Resolution, because resolving dependency conflicts manually is truly dependency hell. By comparison, whenever you add a new component to your runtime environment using the State Tool, every dependency issue that arises is attempted to be resolved automatically, greatly reducing the chance for dependency hell to arise. Read how we do it in our Dependency Resolution Optimization blog post.

Universal Package Manager Written in Go

The State Tool represents the biggest Go language open source project from ActiveState. If you code in Go, there are a number of routines that might be of interest to you, including:

  • Sysinfo – a Go package that will detect the current system’s information, such as the OS, architecture, available compilers, etc. Currently works with Mac, Windows and Linux. 
  • Integration Testing Framework – this is a cross platform framework that currently supports Mac, Windows and Linux. 
  • Secrets and Key Pairs – Go routines that perform client-side encryption. Essentially, allows a user to encrypt a secret and provide a name for it that all others can use so they never see/require the key.

Or you can just start by reviewing the entire State Tool CLI repository.

Open Source Language Package Manager Roadmap

We have big plans for the State Tool, which is really just getting started making your coding life easier. Some of the items we’ll be tackling in the future include:

Embedding the State Tool – A number of organizations have built applications which require one of our ActivePython or ActivePerl distributions to run. Embedding the State Tool will allow users to get up and running with a single command.

Multi-Language Development – Most applications are written in more than one language, forcing organizations to manage multiple tools. Dependency conflicts across languages can also eat up valuable developer time to troubleshoot. As a result, we’ll be iteratively working toward making the State Tool a true universal package manager that delivers a single, consistent interface for all language management tasks, no matter the language.

Environment Management – Working on multiple applications (or multiple versions of a single application) can require different versions of the same library, resulting in conflicts if working directories aren’t well created and maintained. The State Tool aims to revolutionize the way multiple environments are created and managed by automatically creating them on demand for any/all languages required, and making switching between them as easy as typing the name of the project.

CI/CD Optimization – Most CI/CD solutions do a poor job of accommodating custom runtime environments. But by essentially pre-building the runtime and using the State Tool to deploy it seamlessly into your CI/CD containers, you will no longer need to wrestle with custom runtimes across your CI/CD chain. Read our ongoing series of blog posts about how to optimize your CI/CD solution.

And more, but we’re always looking for additional suggestions from our users, as well.

Getting Started with State Tool

Hopefully, all this has piqued your interest in the State Tool. If you want to get more involved, please:

  • Read about the features we’re currently working on
  • Install the State Tool and play with it
  • Read the user documentation
  • Download the code – just clone our State Tool Github repository
    • You can contribute code, report issues, or just submit a new idea/suggestion

ActiveState & Open Source

Open source benefits everyone by making code freely accessible to help solve more software development, as well as real world problems. At ActiveState, our business has been based on open source for more than two decades. We rely on open source code to create all our solutions, and have provided millions of lines of code back to the community under open source license for them to use. Some of the open source projects ActiveState sponsors and maintains include:

  • Tcl language, which we also host
  • Komodo, our code editor, which continues to have a thriving community of contributors
  • Code Recipes, which includes one of the largest Python recipe stores
  • As well as many employee-created projects

With the release of the State Tool, we hope that together we can make it simple for every developer to install, run and manage any open source language runtime, no matter the OS, dependencies, or languages used.

Related Blogs:

Goodbye PPM, Hello State Tool

Dependency Resolution Optimization – ActiveState’s Approach

Scroll to Top

两个鬼故事宋仲基新剧2021北京是谁起的名字下横线怎么打窈窕淑女电影米商标起名大全防水材料种类人行征信中心给投资公司起名字星宿起名通信行业公司起名字安暖叶景淮小说全文免费阅读多玩psp鞍山哪里起名馆好曹郁模具公司名字起名大全唐龙东神传2.8b劳拉的失忆症牙刷家族国际范的婚庆有限公司起名宝宝起名有禾字旁的字国联期货192猪宝宝宜用字取名起名大全杀出黎明电视剧小孩起名根据什么起无限流小说排行榜电脑绘画文体店起名字复仇小说色老头网站少年生前被连续抽血16次?多部门介入两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”淀粉肠小王子日销售额涨超10倍高中生被打伤下体休学 邯郸通报单亲妈妈陷入热恋 14岁儿子报警何赛飞追着代拍打雅江山火三名扑火人员牺牲系谣言张家界的山上“长”满了韩国人?男孩8年未见母亲被告知被遗忘中国拥有亿元资产的家庭达13.3万户19岁小伙救下5人后溺亡 多方发声315晚会后胖东来又人满为患了张立群任西安交通大学校长“重生之我在北大当嫡校长”男子被猫抓伤后确诊“猫抓病”测试车高速逃费 小米:已补缴周杰伦一审败诉网易网友洛杉矶偶遇贾玲今日春分倪萍分享减重40斤方法七年后宇文玥被薅头发捞上岸许家印被限制高消费萧美琴窜访捷克 外交部回应联合利华开始重组专访95后高颜值猪保姆胖东来员工每周单休无小长假男子被流浪猫绊倒 投喂者赔24万小米汽车超级工厂正式揭幕黑马情侣提车了西双版纳热带植物园回应蜉蝣大爆发当地回应沈阳致3死车祸车主疑毒驾恒大被罚41.75亿到底怎么缴妈妈回应孩子在校撞护栏坠楼外国人感慨凌晨的中国很安全杨倩无缘巴黎奥运校方回应护栏损坏小学生课间坠楼房客欠租失踪 房东直发愁专家建议不必谈骨泥色变王树国卸任西安交大校长 师生送别手机成瘾是影响睡眠质量重要因素国产伟哥去年销售近13亿阿根廷将发行1万与2万面值的纸币兔狲“狲大娘”因病死亡遭遇山火的松茸之乡“开封王婆”爆火:促成四五十对奥巴马现身唐宁街 黑色着装引猜测考生莫言也上北大硕士复试名单了德国打算提及普京时仅用姓名天水麻辣烫把捣辣椒大爷累坏了

两个鬼故事 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化