MCPcopy Index your code
hub / github.com/ProtonMail/go-proton-api

github.com/ProtonMail/go-proton-api @v0.4.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.4.0 ↗ · + Follow
1,106 symbols 3,472 edges 135 files 112 documented · 10%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Go Proton API

CI Status GoDoc Go Report Card License

This repository holds Go Proton API, a Go library implementing a client and development server for (a subset of) the Proton REST API.

The license can be found in the LICENSE file.

For the contribution policy, see CONTRIBUTING.

Environment variables

Most of the integration tests run locally. The ones that interact with Proton servers require the following environment variables set:

  • GO_PROTON_API_TEST_USERNAME
  • GO_PROTON_API_TEST_PASSWORD

Contribution

The library is maintained by Proton AG, and is not actively looking for contributors.

Extension points exported contracts — how you extend this code

Option (Interface)
Option represents a type that can be used to configure the manager. [17 implementers]
option.go
Option (Interface)
Option represents a type that can be used to configure the server. [17 implementers]
server/server_builder.go
Scheduler (Interface)
Scheduler allows the user to specify how the attachment data for the message should be downloaded. [2 implementers]
attachment_interfaces.go
AuthHandler (FuncType)
AuthHandler is given any new auths that are returned from the API due to an unexpected auth refresh.
client.go
StatusHook (FuncType)
StatusHook is a function that can be used to modify the response code of a call.
server/server.go
LinkWalkFunc (FuncType)
(no doc)
link_types.go
StatusObserver (FuncType)
(no doc)
manager_status.go
HandlerFunc (FuncType)
(no doc)
server/proxy.go

Core symbols most depended-on inside this repo

Get
called by 82
future.go
Unlock
called by 76
keyring.go
do
called by 70
client.go
Close
called by 65
client.go
Error
called by 44
response.go
Close
called by 41
server/server.go
NewClientWithLogin
called by 29
manager_auth.go
New
called by 29
server/server.go

Shape

Method 595
Function 257
Struct 185
TypeAlias 52
Interface 10
FuncType 7

Languages

Go100%

Modules by API surface

server/proto/server.pb.go101 symbols
server/server_test.go60 symbols
netctl.go49 symbols
server/proto/server_grpc.pb.go40 symbols
server/backend/api.go40 symbols
server/server.go35 symbols
server/server_builder.go32 symbols
server/backend/backend.go28 symbols
option.go26 symbols
server/messages.go23 symbols
server/backend/updates.go23 symbols
message_types.go23 symbols

For agents

$ claude mcp add go-proton-api \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact