MyProxy Client Package
This a pure Python implementation of a client to the MyProxy Credential Management Server (http://grid.ncsa.uiuc.edu/myproxy/). It provides both a Python API and a command line interface.
- i.e. MyProxy C client libraries are not required for this package.
It uses pyOpenSSL to make an SSL connection to the server following the messaging interface as outlined in: http://grid.ncsa.uiuc.edu/myproxy/protocol/
The code is based on an original program myproxy_logon by Tom Uram of ANL.
Examples
These show how to retrieve a certificate bootstrapping trust in remote service:
API
>>> from myproxy.client import MyProxyClient
>>> myproxy_clnt = MyProxyClient(hostname="myproxy.somewhere.ac.uk")
>>> cert, private_key = myproxy_clnt.logon(username, password, bootstrap=True)
Command line interface
$ myproxyclient logon -s myproxy.somewhere.ac.uk -l <username> -o creds.pem -b
Releases
2.1.1
- allow support for Python=3.12 via retirement of
SafeConfigParservia #20 by Valeriu Predoi and checked by Alan Iwi - added Python package components (basic unit test, Github Action that builds and uploads the package) via #22 by Valeriu Predoi and Bouwe Andela
2.1.0
- Refactored package hierarchy -
myproxy.clientis now a package - fixed
sixpackage dependency
2.0.3
- Default to TLS v1.2 for security
2.0.2
- Added new command line option
-ewhich will force output of any error trace. The default is now that the error trace is not echoed. Instead only the message from top-level exception is included. - Fix for certificate DN list for Python 2 version. Thanks to Lukasz for reporting the bug: https://github.com/cedadev/MyProxyClient/issues/12
2.0.1
- Updated hashing algorithm to sha256 after reported errors interacting with some servers
2.0.0
- Ported to Python 3. This version is dual compatible with Python 2 and 3.
- Minor fix to script to improve error reporting
- Added Vagrantfile to enable provisioning of test myproxy-server for use with the tests.
Tested on CentOS 6.8 and OSX El Capitan
1.4.4
- Minor changes for ready for inclusion in conda-forge. Thanks to Alex Goodman.
1.4.3
- Fix for SSL to use TLS instead of SSLv3 to address POODLE vulnerability
- Fix for SSL verification for PyOpenSSL version 0.14 - v1.3.1 was broken
because it passed the call back method to OpenSSL using verification classes'
__call__method.
Tested on CentOS 6.4
1.3.1
- Fix to
MyProxyClient.writeProxyFileandMyProxyClient.readProxyFileto correctly pick-up overridden file setting. Thanks to Nicolas Carenton, IPSL.
Tests
Unit test module with test files is in test/. See the README in that directory.
Documentation
Sphinx generated documentation is available in documentation/. run the Makefile to regenerate if required.
Thanks
- to OMII-UK (Now Software Sustainability Institute) for funding development of NDG Security (2007-2008)
- Tom Uram who wrote the
myproxy_logonprogram on which this package is based.
Metadata
Release files for MyProxyClient 2.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| myproxyclient-2.2.0.tar.gz | 474.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| myproxyclient-2.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 519.5 kB
Release files / myproxyclient-2.2.0.tar.gz
| Download URL | myproxyclient-2.2.0.tar.gz |
|---|---|
| Size | 474.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9e65226f2790fdb9ecc2f7543736b5445cd2dae26b265d951dfe5cb73c8803df
|
|
BLAKE2b-256 checksum How to use checksums |
8133ce3e43ecc1101c308a8604fbced662d66ad44b2b86f59039d22eb7614930
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 6, 2025.
Transparency logRelease files / myproxyclient-2.2.0-py3-none-any.whl
| Download URL | myproxyclient-2.2.0-py3-none-any.whl |
|---|---|
| Size | 45.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7ff3c1ae976bfb586230d746f605d3d20ad151ac9ce905bf52d74581cedf9744
|
|
BLAKE2b-256 checksum How to use checksums |
2e4d9ccd0223ee1c3e108290704e60b5f1e8f3e0c4b5664b6108e27d754a8bfe
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 6, 2025.
Transparency log