https://github.com/activestate/langtools
Go packages and tools for working with language ecosystems
https://github.com/activestate/langtools
Last synced: about 1 year ago
JSON representation
Go packages and tools for working with language ecosystems
- Host: GitHub
- URL: https://github.com/activestate/langtools
- Owner: ActiveState
- License: bsd-3-clause
- Created: 2020-03-05T20:32:06.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2024-07-08T21:59:27.000Z (almost 2 years ago)
- Last Synced: 2025-04-05T04:51:14.439Z (about 1 year ago)
- Language: Go
- Size: 36.1 KB
- Stars: 1
- Watchers: 17
- Forks: 3
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- Changelog: Changes.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# What Is This
The langtools repo contains packages and tools that we at ActiveState have
developed as part of the [ActiveState
Platform](https://platform.activestate.com/). The platform provides automated
language builds, where you can pick a language core and a set of packages to
be built on a variety of platforms. Since building the platform requires us to
understand a number of language package ecosystems, we are building tools for
working with these ecosystems.
## Version Parsing
This repo contains a Go package for version parsing,
`github.com/ActiveState/langtools/pkg/version`:
```go
package main
import (
"fmt"
"log"
"github.com/ActiveState/langtools/pkg/version"
)
func main() {
v, err := version.ParseGeneric("1.2")
if err != nil {
log.Fatalf("Could not parse 1.2 as a generic version: %s", err)
}
fmt.Printf("Parsed as %v\n", v.Decimal)
// Prints:
// Parsed as [1 2]
}
```
## Name Normalization
Some language ecosystems have a concept of name normalization for package
names. This repo contains a Go package for name normalization,
`github.com/ActiveState/langtools/pkg/name`:
```go
package main
import (
"fmt"
"github.com/ActiveState/langtools/pkg/name"
)
func main() {
norm := name.NormalizePython("backports.functools_lru_cache")
fmt.Printf("Normalized as %s\n", norm)
// Prints:
// Normalized as backports-functools-lru-cache
}
```
### `parseversion` Command Line Tool
This repository also contains the code for a `parseversion` CLI tool. You can
install this by running `go get
github.com/ActiveState/langtools/cmd/parseversion`. Run `parseversion --help`
for details on this tool.
## Build Status
[](https://circleci.com/gh/ActiveState/langtools)
## To Create a New Release
* Tag master: `git tag v0.0.6`
* Push the tag: `git push origin v0.0.6`
* Go to the [releases page](https://github.com/ActiveState/langtools/releases)
* Click on the name of the new release, `v0.0.6` in this example
* Click the `Edit Release` button on the top right
* Enter in the release notes, which are the same as you added to `Changes.md`
* Remove any manual line breaks as they don't look good
* Click the `Publish Release` button on the bottom
## Authors
This library was created by:
* Sean Fitzgerald
* Jason Palmer
* Dave Rolsky \
* Tyler Santerre
* Stephen Reichling
## Copyright
Copyright (c) 2020, ActiveState Software.
All rights reserved.
## License
This software is licensed under the BSD 3-Clause License.