Are you over 18 and want to see adult content?
More Annotations
![A complete backup of https://viagrads.com](https://www.archivebay.com/archive6/images/9f893632-be18-46f7-b2d5-1d199d995fa5.png)
A complete backup of https://viagrads.com
Are you over 18 and want to see adult content?
![A complete backup of https://xiglute.com](https://www.archivebay.com/archive6/images/719e64bd-d927-454a-85cc-00fc69214d47.png)
A complete backup of https://xiglute.com
Are you over 18 and want to see adult content?
![A complete backup of https://getmymacros.com](https://www.archivebay.com/archive6/images/5c8d0b9c-474f-467d-992b-a021545d4192.png)
A complete backup of https://getmymacros.com
Are you over 18 and want to see adult content?
![A complete backup of https://chili-publish.com](https://www.archivebay.com/archive6/images/dd725eec-2778-4c71-8769-fef2c614317b.png)
A complete backup of https://chili-publish.com
Are you over 18 and want to see adult content?
![A complete backup of https://monumentaltrees.com](https://www.archivebay.com/archive6/images/df4de23a-0ea6-42b4-bcb4-ad6590bce411.png)
A complete backup of https://monumentaltrees.com
Are you over 18 and want to see adult content?
![A complete backup of https://essaysrv.com](https://www.archivebay.com/archive6/images/c0b9c0d9-43e9-4bb5-b8eb-a6bba084e0f7.png)
A complete backup of https://essaysrv.com
Are you over 18 and want to see adult content?
![A complete backup of https://xn--80aafwcvtiok.xn--p1ai](https://www.archivebay.com/archive6/images/2e46d719-8509-48d3-a276-703642eac739.png)
A complete backup of https://xn--80aafwcvtiok.xn--p1ai
Are you over 18 and want to see adult content?
![A complete backup of https://artdubai.ae](https://www.archivebay.com/archive6/images/90c13ad3-ddae-4cd0-96be-29b0e49ecbc2.png)
A complete backup of https://artdubai.ae
Are you over 18 and want to see adult content?
![A complete backup of https://techentice.com](https://www.archivebay.com/archive6/images/d0cceb9c-120e-4096-803a-7a3d2fe9844f.png)
A complete backup of https://techentice.com
Are you over 18 and want to see adult content?
![A complete backup of https://hubschraubermuseum.de](https://www.archivebay.com/archive6/images/d25d04f0-975a-470a-8788-6cecae709ea5.png)
A complete backup of https://hubschraubermuseum.de
Are you over 18 and want to see adult content?
![A complete backup of https://eggtronic.com](https://www.archivebay.com/archive6/images/2fb2b9c8-d0be-431d-8d5e-a2c5da91d808.png)
A complete backup of https://eggtronic.com
Are you over 18 and want to see adult content?
Favourite Annotations
![A complete backup of www.xhamsterlive.com](https://www.archivebay.com/archive5/images/500b1e69-9e2e-4c1e-8640-71fe4d4297ff.png)
A complete backup of www.xhamsterlive.com
Are you over 18 and want to see adult content?
![A complete backup of badgirlsblog.com](https://www.archivebay.com/archive5/images/db7b2db4-5389-429c-9b08-877ca8e8053d.png)
A complete backup of badgirlsblog.com
Are you over 18 and want to see adult content?
![A complete backup of www.enf-cmnf.com](https://www.archivebay.com/archive5/images/1589d8b7-a6c6-4f8f-976c-ad475e27ddb3.png)
A complete backup of www.enf-cmnf.com
Are you over 18 and want to see adult content?
![A complete backup of www.aerisdies.com](https://www.archivebay.com/archive5/images/34f094f6-84a4-45fe-901f-bbd570bfe687.png)
A complete backup of www.aerisdies.com
Are you over 18 and want to see adult content?
Text
documentation.
LDAP.V3 - GOPKG.IN/LDAP.V3 Getting started. To get the package, execute: go get gopkg.in/ldap.v3. To import this package, add the following line to your code: import "gopkg.in/ldap.v3". For more details, see the API documentation. OAUTH2.V3 - GOPKG.IN/OAUTH2.V3 Getting started. To get the package, execute: go get gopkg.in/oauth2.v3. To import this package, add the following line to your code: import "gopkg.in/oauth2.v3". For more details, see the APIdocumentation.
GO-JOSE.V2 - GOPKG.IN/SQUARE/GO-JOSE.V2 To import this package, add the following line to your code: import "gopkg.in/square/go-jose.v2" GOKRB5.V7 - GOPKG.IN/JCMTURNER/GOKRB5.V7 To import this package, add the following line to your code: import "gopkg.in/jcmturner/gokrb5.v7"VALIDATOR.V8
To import this package, add the following line to your code: import "gopkg.in/go-playground/validator.v8"VALIDATOR.V9
To import this package, add the following line to your code: import "gopkg.in/go-playground/validator.v9" GOMAIL.V2 - GOPKG.IN/GOMAIL.V2 Getting started. To get the package, execute: go get gopkg.in/gomail.v2. To import this package, add the following line to your code: import "gopkg.in/gomail.v2". For more details, see the APIdocumentation.
LDAP.V3 - GOPKG.IN/LDAP.V3 Getting started. To get the package, execute: go get gopkg.in/ldap.v3. To import this package, add the following line to your code: import "gopkg.in/ldap.v3". For more details, see the API documentation. OAUTH2.V3 - GOPKG.IN/OAUTH2.V3 Getting started. To get the package, execute: go get gopkg.in/oauth2.v3. To import this package, add the following line to your code: import "gopkg.in/oauth2.v3". For more details, see the APIdocumentation.
GO-JOSE.V2 - GOPKG.IN/SQUARE/GO-JOSE.V2 To import this package, add the following line to your code: import "gopkg.in/square/go-jose.v2" GOKRB5.V7 - GOPKG.IN/JCMTURNER/GOKRB5.V7 To import this package, add the following line to your code: import "gopkg.in/jcmturner/gokrb5.v7"VALIDATOR.V8
To import this package, add the following line to your code: import "gopkg.in/go-playground/validator.v8"VALIDATOR.V9
To import this package, add the following line to your code: import "gopkg.in/go-playground/validator.v9" GO-JOSE.V2 - GOPKG.IN/SQUARE/GO-JOSE.V2 To import this package, add the following line to your code: import "gopkg.in/square/go-jose.v2"VALIDATOR.V8
To import this package, add the following line to your code: import "gopkg.in/go-playground/validator.v8" MGO.V2 - GOPKG.IN/MGO.V2 Getting started. To get the package, execute: go get gopkg.in/mgo.v2. To import this package, add the following line to your code: import "gopkg.in/mgo.v2". For more details, see the API documentation.VALIDATOR.V10
To import this package, add the following line to your code: import "gopkg.in/go-playground/validator.v10" RPC.V1 - GOPKG.IN/JCMTURNER/RPC.V1 Getting started. To get the package, execute: go get gopkg.in/jcmturner/rpc.v1. To import this package, add the following line to your code: import "gopkg.in/jcmturner/rpc.v1". For moredetails,
GOCZMQ.V4 - GOPKG.IN/ZEROMQ/GOCZMQ.V4 To import this package, add the following line to your code: import "gopkg.in/zeromq/goczmq.v4"FSNOTIFY.V1
To import this package, add the following line to your code: import "gopkg.in/fsnotify/fsnotify.v1" RESTY.V1 - GOPKG.IN/RESTY.V1 Getting started. To get the package, execute: go get gopkg.in/resty.v1. To import this package, add the following line to your code: import "gopkg.in/resty.v1". For more details, see the APIdocumentation.
SARAMA.V1 - GOPKG.IN/SHOPIFY/SARAMA.V1 gopkg.in/Shopify/sarama.v1 Package sarama is a pure Go client library for dealing with Apache Kafka (versions 0.8 and later). CONFLUENT-KAFKA-GO.V1/KAFKA To import this package, add the following line to your code: import "gopkg.in/confluentinc/confluent-kafka-go.v1/kafka" GOMAIL.V2 - GOPKG.IN/GOMAIL.V2 Getting started. To get the package, execute: go get gopkg.in/gomail.v2. To import this package, add the following line to your code: import "gopkg.in/gomail.v2". For more details, see the APIdocumentation.
LDAP.V3 - GOPKG.IN/LDAP.V3 Getting started. To get the package, execute: go get gopkg.in/ldap.v3. To import this package, add the following line to your code: import "gopkg.in/ldap.v3". For more details, see the API documentation. OAUTH2.V3 - GOPKG.IN/OAUTH2.V3 Getting started. To get the package, execute: go get gopkg.in/oauth2.v3. To import this package, add the following line to your code: import "gopkg.in/oauth2.v3". For more details, see the APIdocumentation.
GO-JOSE.V2 - GOPKG.IN/SQUARE/GO-JOSE.V2 To import this package, add the following line to your code: import "gopkg.in/square/go-jose.v2" GOKRB5.V7 - GOPKG.IN/JCMTURNER/GOKRB5.V7 To import this package, add the following line to your code: import "gopkg.in/jcmturner/gokrb5.v7"VALIDATOR.V8
To import this package, add the following line to your code: import "gopkg.in/go-playground/validator.v8"VALIDATOR.V9
To import this package, add the following line to your code: import "gopkg.in/go-playground/validator.v9" ELASTIC.V6 - GOPKG.IN/OLIVERE/ELASTIC.V6 To import this package, add the following line to your code: import "gopkg.in/olivere/elastic.v6" NPIPE.V2 - GOPKG.IN/NATEFINCH/NPIPE.V2 To import this package, add the following line to your code: import "gopkg.in/natefinch/npipe.v2" SARAMA.V1 - GOPKG.IN/SHOPIFY/SARAMA.V1 gopkg.in/Shopify/sarama.v1 Package sarama is a pure Go client library for dealing with Apache Kafka (versions 0.8 and later). GOMAIL.V2 - GOPKG.IN/GOMAIL.V2 Getting started. To get the package, execute: go get gopkg.in/gomail.v2. To import this package, add the following line to your code: import "gopkg.in/gomail.v2". For more details, see the APIdocumentation.
LDAP.V3 - GOPKG.IN/LDAP.V3 Getting started. To get the package, execute: go get gopkg.in/ldap.v3. To import this package, add the following line to your code: import "gopkg.in/ldap.v3". For more details, see the API documentation. OAUTH2.V3 - GOPKG.IN/OAUTH2.V3 Getting started. To get the package, execute: go get gopkg.in/oauth2.v3. To import this package, add the following line to your code: import "gopkg.in/oauth2.v3". For more details, see the APIdocumentation.
GO-JOSE.V2 - GOPKG.IN/SQUARE/GO-JOSE.V2 To import this package, add the following line to your code: import "gopkg.in/square/go-jose.v2" GOKRB5.V7 - GOPKG.IN/JCMTURNER/GOKRB5.V7 To import this package, add the following line to your code: import "gopkg.in/jcmturner/gokrb5.v7"VALIDATOR.V8
To import this package, add the following line to your code: import "gopkg.in/go-playground/validator.v8"VALIDATOR.V9
To import this package, add the following line to your code: import "gopkg.in/go-playground/validator.v9" ELASTIC.V6 - GOPKG.IN/OLIVERE/ELASTIC.V6 To import this package, add the following line to your code: import "gopkg.in/olivere/elastic.v6" NPIPE.V2 - GOPKG.IN/NATEFINCH/NPIPE.V2 To import this package, add the following line to your code: import "gopkg.in/natefinch/npipe.v2" SARAMA.V1 - GOPKG.IN/SHOPIFY/SARAMA.V1 gopkg.in/Shopify/sarama.v1 Package sarama is a pure Go client library for dealing with Apache Kafka (versions 0.8 and later). GO-JOSE.V2 - GOPKG.IN/SQUARE/GO-JOSE.V2 To import this package, add the following line to your code: import "gopkg.in/square/go-jose.v2"VALIDATOR.V8
To import this package, add the following line to your code: import "gopkg.in/go-playground/validator.v8" MGO.V2 - GOPKG.IN/MGO.V2 Getting started. To get the package, execute: go get gopkg.in/mgo.v2. To import this package, add the following line to your code: import "gopkg.in/mgo.v2". For more details, see the API documentation.VALIDATOR.V10
To import this package, add the following line to your code: import "gopkg.in/go-playground/validator.v10" RPC.V1 - GOPKG.IN/JCMTURNER/RPC.V1 Getting started. To get the package, execute: go get gopkg.in/jcmturner/rpc.v1. To import this package, add the following line to your code: import "gopkg.in/jcmturner/rpc.v1". For moredetails,
GOCZMQ.V4 - GOPKG.IN/ZEROMQ/GOCZMQ.V4 To import this package, add the following line to your code: import "gopkg.in/zeromq/goczmq.v4"FSNOTIFY.V1
To import this package, add the following line to your code: import "gopkg.in/fsnotify/fsnotify.v1" RESTY.V1 - GOPKG.IN/RESTY.V1 Getting started. To get the package, execute: go get gopkg.in/resty.v1. To import this package, add the following line to your code: import "gopkg.in/resty.v1". For more details, see the APIdocumentation.
SARAMA.V1 - GOPKG.IN/SHOPIFY/SARAMA.V1 gopkg.in/Shopify/sarama.v1 Package sarama is a pure Go client library for dealing with Apache Kafka (versions 0.8 and later). CONFLUENT-KAFKA-GO.V1/KAFKA To import this package, add the following line to your code: import "gopkg.in/confluentinc/confluent-kafka-go.v1/kafka" LDAP.V3 - GOPKG.IN/LDAP.V3 Getting started. To get the package, execute: go get gopkg.in/ldap.v3. To import this package, add the following line to your code: import "gopkg.in/ldap.v3". For more details, see the API documentation. GOMAIL.V2 - GOPKG.IN/GOMAIL.V2 Getting started. To get the package, execute: go get gopkg.in/gomail.v2. To import this package, add the following line to your code: import "gopkg.in/gomail.v2". For more details, see the APIdocumentation.
OAUTH2.V3 - GOPKG.IN/OAUTH2.V3 Getting started. To get the package, execute: go get gopkg.in/oauth2.v3. To import this package, add the following line to your code: import "gopkg.in/oauth2.v3". For more details, see the APIdocumentation.
RPC.V1 - GOPKG.IN/JCMTURNER/RPC.V1 Getting started. To get the package, execute: go get gopkg.in/jcmturner/rpc.v1. To import this package, add the following line to your code: import "gopkg.in/jcmturner/rpc.v1". For moredetails,
LUMBERJACK.V2
To import this package, add the following line to your code: import "gopkg.in/natefinch/lumberjack.v2"VALIDATOR.V8
To import this package, add the following line to your code: import "gopkg.in/go-playground/validator.v8"FSNOTIFY.V1
To import this package, add the following line to your code: import "gopkg.in/fsnotify/fsnotify.v1"VALIDATOR.V9
To import this package, add the following line to your code: import "gopkg.in/go-playground/validator.v9" NPIPE.V2 - GOPKG.IN/NATEFINCH/NPIPE.V2 To import this package, add the following line to your code: import "gopkg.in/natefinch/npipe.v2" CONFLUENT-KAFKA-GO.V1/KAFKA To import this package, add the following line to your code: import "gopkg.in/confluentinc/confluent-kafka-go.v1/kafka" LDAP.V3 - GOPKG.IN/LDAP.V3 Getting started. To get the package, execute: go get gopkg.in/ldap.v3. To import this package, add the following line to your code: import "gopkg.in/ldap.v3". For more details, see the API documentation. GOMAIL.V2 - GOPKG.IN/GOMAIL.V2 Getting started. To get the package, execute: go get gopkg.in/gomail.v2. To import this package, add the following line to your code: import "gopkg.in/gomail.v2". For more details, see the APIdocumentation.
OAUTH2.V3 - GOPKG.IN/OAUTH2.V3 Getting started. To get the package, execute: go get gopkg.in/oauth2.v3. To import this package, add the following line to your code: import "gopkg.in/oauth2.v3". For more details, see the APIdocumentation.
RPC.V1 - GOPKG.IN/JCMTURNER/RPC.V1 Getting started. To get the package, execute: go get gopkg.in/jcmturner/rpc.v1. To import this package, add the following line to your code: import "gopkg.in/jcmturner/rpc.v1". For moredetails,
LUMBERJACK.V2
To import this package, add the following line to your code: import "gopkg.in/natefinch/lumberjack.v2"VALIDATOR.V8
To import this package, add the following line to your code: import "gopkg.in/go-playground/validator.v8"FSNOTIFY.V1
To import this package, add the following line to your code: import "gopkg.in/fsnotify/fsnotify.v1"VALIDATOR.V9
To import this package, add the following line to your code: import "gopkg.in/go-playground/validator.v9" NPIPE.V2 - GOPKG.IN/NATEFINCH/NPIPE.V2 To import this package, add the following line to your code: import "gopkg.in/natefinch/npipe.v2" CONFLUENT-KAFKA-GO.V1/KAFKA To import this package, add the following line to your code: import "gopkg.in/confluentinc/confluent-kafka-go.v1/kafka" RPC.V1 - GOPKG.IN/JCMTURNER/RPC.V1 Getting started. To get the package, execute: go get gopkg.in/jcmturner/rpc.v1. To import this package, add the following line to your code: import "gopkg.in/jcmturner/rpc.v1". For moredetails,
CHECK.V1 - GOPKG.IN/CHECK.V1 Getting started. To get the package, execute: go get gopkg.in/check.v1. To import this package, add the following line to your code: import "gopkg.in/check.v1". For more details, see the APIdocumentation.
GO-JOSE.V2 - GOPKG.IN/SQUARE/GO-JOSE.V2 To import this package, add the following line to your code: import "gopkg.in/square/go-jose.v2"VALIDATOR.V8
To import this package, add the following line to your code: import "gopkg.in/go-playground/validator.v8" CLI.V2 - GOPKG.IN/URFAVE/CLI.V2 To get the package, execute: go get gopkg.in/urfave/cli.v2. To import this package, add the following line to your code: import "gopkg.in/urfave/cli.v2". For more details, see the API documentation. SARAMA.V1 - GOPKG.IN/SHOPIFY/SARAMA.V1 gopkg.in/Shopify/sarama.v1 Package sarama is a pure Go client library for dealing with Apache Kafka (versions 0.8 and later).VALIDATOR.V9
To import this package, add the following line to your code: import "gopkg.in/go-playground/validator.v9" GOCZMQ.V4 - GOPKG.IN/ZEROMQ/GOCZMQ.V4 To import this package, add the following line to your code: import "gopkg.in/zeromq/goczmq.v4"GO-SYSLOG.V2
To import this package, add the following line to your code: import "gopkg.in/mcuadros/go-syslog.v2" CONFLUENT-KAFKA-GO.V1/KAFKA To import this package, add the following line to your code: import "gopkg.in/confluentinc/confluent-kafka-go.v1/kafka" LDAP.V3 - GOPKG.IN/LDAP.V3 Getting started. To get the package, execute: go get gopkg.in/ldap.v3. To import this package, add the following line to your code: import "gopkg.in/ldap.v3". For more details, see the API documentation. GOMAIL.V2 - GOPKG.IN/GOMAIL.V2 Getting started. To get the package, execute: go get gopkg.in/gomail.v2. To import this package, add the following line to your code: import "gopkg.in/gomail.v2". For more details, see the APIdocumentation.
YAML.V3 - GOPKG.IN/YAML.V3 Getting started. To get the package, execute: go get gopkg.in/yaml.v3. To import this package, add the following line to your code: import "gopkg.in/yaml.v3". For more details, see the API documentation. RPC.V1 - GOPKG.IN/JCMTURNER/RPC.V1 Getting started. To get the package, execute: go get gopkg.in/jcmturner/rpc.v1. To import this package, add the following line to your code: import "gopkg.in/jcmturner/rpc.v1". For moredetails,
OAUTH2.V3 - GOPKG.IN/OAUTH2.V3 Getting started. To get the package, execute: go get gopkg.in/oauth2.v3. To import this package, add the following line to your code: import "gopkg.in/oauth2.v3". For more details, see the APIdocumentation.
VALIDATOR.V8
To import this package, add the following line to your code: import "gopkg.in/go-playground/validator.v8"FSNOTIFY.V1
To import this package, add the following line to your code: import "gopkg.in/fsnotify/fsnotify.v1" SARAMA.V1 - GOPKG.IN/SHOPIFY/SARAMA.V1 gopkg.in/Shopify/sarama.v1 Package sarama is a pure Go client library for dealing with Apache Kafka (versions 0.8 and later). ELASTIC.V6 - GOPKG.IN/OLIVERE/ELASTIC.V6 To import this package, add the following line to your code: import "gopkg.in/olivere/elastic.v6" NPIPE.V2 - GOPKG.IN/NATEFINCH/NPIPE.V2 To import this package, add the following line to your code: import "gopkg.in/natefinch/npipe.v2" LDAP.V3 - GOPKG.IN/LDAP.V3 Getting started. To get the package, execute: go get gopkg.in/ldap.v3. To import this package, add the following line to your code: import "gopkg.in/ldap.v3". For more details, see the API documentation. GOMAIL.V2 - GOPKG.IN/GOMAIL.V2 Getting started. To get the package, execute: go get gopkg.in/gomail.v2. To import this package, add the following line to your code: import "gopkg.in/gomail.v2". For more details, see the APIdocumentation.
YAML.V3 - GOPKG.IN/YAML.V3 Getting started. To get the package, execute: go get gopkg.in/yaml.v3. To import this package, add the following line to your code: import "gopkg.in/yaml.v3". For more details, see the API documentation. RPC.V1 - GOPKG.IN/JCMTURNER/RPC.V1 Getting started. To get the package, execute: go get gopkg.in/jcmturner/rpc.v1. To import this package, add the following line to your code: import "gopkg.in/jcmturner/rpc.v1". For moredetails,
OAUTH2.V3 - GOPKG.IN/OAUTH2.V3 Getting started. To get the package, execute: go get gopkg.in/oauth2.v3. To import this package, add the following line to your code: import "gopkg.in/oauth2.v3". For more details, see the APIdocumentation.
VALIDATOR.V8
To import this package, add the following line to your code: import "gopkg.in/go-playground/validator.v8"FSNOTIFY.V1
To import this package, add the following line to your code: import "gopkg.in/fsnotify/fsnotify.v1" SARAMA.V1 - GOPKG.IN/SHOPIFY/SARAMA.V1 gopkg.in/Shopify/sarama.v1 Package sarama is a pure Go client library for dealing with Apache Kafka (versions 0.8 and later). ELASTIC.V6 - GOPKG.IN/OLIVERE/ELASTIC.V6 To import this package, add the following line to your code: import "gopkg.in/olivere/elastic.v6" NPIPE.V2 - GOPKG.IN/NATEFINCH/NPIPE.V2 To import this package, add the following line to your code: import "gopkg.in/natefinch/npipe.v2"VALIDATOR.V8
To import this package, add the following line to your code: import "gopkg.in/go-playground/validator.v8" GO-JOSE.V2 - GOPKG.IN/SQUARE/GO-JOSE.V2 To import this package, add the following line to your code: import "gopkg.in/square/go-jose.v2" CHECK.V1 - GOPKG.IN/CHECK.V1 Getting started. To get the package, execute: go get gopkg.in/check.v1. To import this package, add the following line to your code: import "gopkg.in/check.v1". For more details, see the APIdocumentation.
SARAMA.V1 - GOPKG.IN/SHOPIFY/SARAMA.V1 gopkg.in/Shopify/sarama.v1 Package sarama is a pure Go client library for dealing with Apache Kafka (versions 0.8 and later). GO-GIT.V4 - GOPKG.IN/SRC-D/GO-GIT.V4 To import this package, add the following line to your code: import "gopkg.in/src-d/go-git.v4"FSNOTIFY.V1
To import this package, add the following line to your code: import "gopkg.in/fsnotify/fsnotify.v1"VALIDATOR.V9
To import this package, add the following line to your code: import "gopkg.in/go-playground/validator.v9" GOCZMQ.V4 - GOPKG.IN/ZEROMQ/GOCZMQ.V4 To import this package, add the following line to your code: import "gopkg.in/zeromq/goczmq.v4" CONFLUENT-KAFKA-GO.V1/KAFKA To import this package, add the following line to your code: import "gopkg.in/confluentinc/confluent-kafka-go.v1/kafka" LOGRUS-AIRBRAKE-HOOK.V2 To import this package, add the following line to your code: import "gopkg.in/gemnasium/logrus-airbrake-hook.v2"GOPKG.IN
Stable APIs for the Go language* Home
* Blog
* gopkg.in
INTRODUCTION
The gopkg.in service provides versioned URLs that offer the proper metadata for redirecting the go tool onto well defined GitHub repositories. Developers that choose to use this service are strongly encouraged to not make any backwards incompatible changes without also changing the version in the package URL. This convention improves the chances that dependent code will continue to work while depended uponpackages evolve.
The advantage of using gopkg.in is that the URL is cleaner, shorter, redirects to the package documentation at godoc.org when opened with a browser, handles git branches and tags for versioning, and most importantly encourages the adoption of stable versioned package APIs. Note that gopkg.in does not hold the package code. Instead, the go tool is redirected and obtains the code straight from the respectiveGitHub repository.
EXAMPLE
The yaml package may be installed by running: go get gopkg.in/yaml.v1 Although a version selector is provided as part of the import path, code importing it must still refer to the Go package as yaml, itsactual name.
Opening that same URL in a browser will present a nice introductory page containing links to the documentation, source code, and all versions available for the given package. The actual implementation of the package is in GitHub: https://github.com/go-yaml/yaml User-owned repositories also work, as described in Supported URLsbelow.
GitHub repositories that have no version tags or branches are considered unstable, and thus in "v0". See the Version zero sectionbelow for details.
SUPPORTED URLS
There are two URL patterns supported: gopkg.in/pkg.v3 → github.com/go-pkg/pkg (branch/tag v3, v3.N, or v3.N.M) gopkg.in/user/pkg.v3 → github.com/user/pkg (branch/tag v3,v3.N, or v3.N.M)
Path to nested packages may be appended to these URLs.VERSION NUMBER
The number used in the gopkg.in URL looks like "v1" or "v42", and represents the major version for the Go package. No incompatible changes should be done to the package without also changing that version, so that packages and applications that import the package can continue to work over time without being affected by brokendependencies.
When using branches or tags to version the GitHub repository, gopkg.in understands that a selector in the URL such as "v1" may be satisfied by a tag or branch "v1.2" or "v1.2.1" (vMAJOR) in the repository, and will select the highest version satisfying therequested selector.
Even when using richer versioning schemes, the version selector used in the gopkg.in URL is restricted to the major version number to ensure that all packages in a dependency tree that depend on a given versioned URL will pick the same package version whenever possible, rather than importing slightly different versions of that package (v1.0.1 and v1.0.2, for example). The only situation when such duplicated imports may occur is when the package versions are incompatible (v1 and v3, for example), in which case allowing the independent imports may provide a chance for the software to stillwork.
For clarity, assuming a repository containing the following tags orbranches:
* v1
* v2.0
* v2.0.3
* v2.1.2
* v3
* v3.0
The following selectors would be resolved as indicated: * pkg.V1 → tag or branch V1 * pkg.V2 → tag or branch V2.1.2 * pkg.V3 → tag or branch V3.0VERSION ZERO
Version zero (v0) is reserved for packages that are so immature that offering any kind of API stability guarantees would be unreasonable. This is equivalent to labeling the package as alpha or beta quality, and as such the use of these packages as dependencies of stable packages and applications is discouraged. Packages should not remain in v0 for too long, as the lack of API stability hinders their adoption, and hurts the stability of packages and applications that depend on them. Repositories in GitHub that have no version tag or branch matching the pattern described above are also considered unstable, and thus gopkg.in takes their master branch as v0. This should only be used once the package maintainers encourage the use of gopkg.in, though. HOW TO CHANGE THE VERSION Increasing the version number is done either by registering a new repository in GitHub with the proper name, or by creating a git tag or branch with the proper name and pushing it. Which of these are used depends on the choosen convention (see the Supported URLs sectionabove).
In either case, the previous version should not be removed, so that existent code that depends on it remains working. This also preserves the documentation for the previous version at godoc.org. The GitHub documentation detailshow to push a
tag or branch to a remote. WHEN TO CHANGE THE VERSION The major version should be increased whenever the respective package API is being changed in an incompatible way. Examples of modifications that DO NEED a major version change are: * Removing or renaming *any* exposed name (function, method, type,etc)
* Adding, removing or renaming methods in an interface * Adding a parameter to a function, method, or interface * Changing the type of a parameter or result in a function, method,or interface
* Changing the number of results in a function, method, or interface * Some struct changes (see details below) On the other hand, the following modifications are FINE WITHOUT a major version change: * Adding exposed names (function, method, type, etc) * Renaming a parameter or result of a function, method, or interface * Some struct changes (see details below) Note that some of these changes may still break code that depends on details of the existing API due to the use of reflection. These uses are considered an exception, and authors of such packages will have to follow the development of dependend upon packages more closely. There are also cases that require further consideration. Some of theseare covered below.
COMPATIBILITY ON STRUCT CHANGES Adding a field to a struct may be safe or not depending on how the struct was previously defined. A struct containing non-exported fields may always receive new exported fields safely, as the language disallows code outside the package from using literals of these structs without naming the fieldsexplicitly.
A struct with a significant number of fields is likely safe as well, as it's inconvenient to be both written and read without naming thefields explicitly.
A struct consisting only of a few exported fields must not have fields added (exported or not) or repositioned without a major version change, as that will break code using such structs in literals withpositional fields.
Removing or renaming exported fields from an existing struct is of course a compatibility breaking change.RESOURCES
* Source code
* Uptime report
* Contact
UPDATES
* 2014-04-05
* 2014-03-31
* 2014-03-28
* 2014-03-27
* 2014-03-25
* 2014-03-06
* 2014-03-04
©2011 Labix — Design by Styleshout — Home | BlogDetails
Copyright © 2024 ArchiveBay.com. All rights reserved. Terms of Use | Privacy Policy | DMCA | 2021 | Feedback | Advertising | RSS 2.0