https://github.com/Unknwon/cae
Package cae implements PHP-like Compression and Archive Extensions.
https://github.com/Unknwon/cae
go lsif-enabled
Last synced: about 1 month ago
JSON representation
Package cae implements PHP-like Compression and Archive Extensions.
- Host: GitHub
- URL: https://github.com/Unknwon/cae
- Owner: unknwon
- License: apache-2.0
- Created: 2013-02-27T09:48:03.000Z (over 12 years ago)
- Default Branch: master
- Last Pushed: 2023-11-05T03:08:34.000Z (over 1 year ago)
- Last Synced: 2025-04-07T10:32:52.326Z (about 2 months ago)
- Topics: go, lsif-enabled
- Language: Go
- Homepage:
- Size: 121 KB
- Stars: 37
- Watchers: 4
- Forks: 14
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- go-awesome - cae - implement ZIP/TAR.GZ decompression (Open source library / Unzip)
README
Compression and Archive Extensions
==================================[](https://github.com/unknwon/cae/actions?query=workflow%3AGo)
[](https://codecov.io/gh/unknwon/cae)
[](https://pkg.go.dev/github.com/unknwon/cae?tab=doc)
[](https://sourcegraph.com/github.com/unknwon/cae)[中文文档](README_ZH.md)
Package cae implements PHP-like Compression and Archive Extensions.
But this package has some modifications depends on Go-style.
Reference: [PHP:Compression and Archive Extensions](http://www.php.net/manual/en/refs.compression.php).
Code Convention: based on [Go Code Convention](https://github.com/unknwon/go-code-convention).
### Implementations
Package `zip`([Go Walker](http://gowalker.org/github.com/unknwon/cae/zip)) and `tz`([Go Walker](http://gowalker.org/github.com/unknwon/cae/tz)) both enable you to transparently read or write ZIP/TAR.GZ compressed archives and the files inside them.
- Features:
- Add file or directory from everywhere to archive, no one-to-one limitation.
- Extract part of entries, not all at once.
- Stream data directly into `io.Writer` without any file system storage.### Test cases and Coverage
All subpackages use [GoConvey](http://goconvey.co/) to write test cases, and coverage is more than 80 percent.
### Use cases
- [Gogs](https://github.com/gogits/gogs): self hosted Git service in the Go Programming Language.
- [GoBlog](https://github.com/fuxiaohei/GoBlog): personal blogging application.
- [GoBuild](https://github.com/shxsun/gobuild/): online Go cross-platform compilation and download service.## License
This project is under Apache v2 License. See the [LICENSE](LICENSE) file for the full license text.