django-pyAS2
django-pyas2
is an AS2 server/client written in python and built on the django framework.
The application supports AS2 version 1.2 as defined in the RFC 4130. Our goal is to provide a native
python library for implementing the AS2 protocol. It supports Python 3.6+
django-pyas2
includes a set of django-admin commands that can be used to send files as
a client, send asynchronous MDNs and so on. It also has a web based front end interface for
configuring partners and organizations, monitoring message transfers and also initiating new transfers.
Features
- Technical
- Asynchronous and Synchronous MDN
- Partner and Organization management
- Digital signatures
- Message encryption
- Secure transport (SSL)
- Support for SSL client authentication
- System task to auto clear old log entries
- Data compression (AS2 1.1)
- Multinational support: Uses Django's internationalization feature
- Integration
- Easy integration to existing systems, using a partner based file system interface
- Message post processing (scripting on receipt)
- Monitoring
- Web interface for transaction monitoring
- Email event notification
- The following encryption algorithms are supported:
- Triple DES
- RC2-128
- RC4-128
- AES-128
- AES-192
- AES-256
- The following hash algorithms are supported:
- SHA-1
- SHA-224
- SHA-256
- SHA-384
- SHA-512
Documentation
You can find more information in the documentation.
Discussion
If you run into bugs, you can file them in our issue tracker.
Contribute
- Check for open issues or open a fresh issue to start a discussion around a feature idea or a bug.
- Fork the repository on GitHub to start making your changes to the master branch (or branch off of it).
- Create your feature branch: git checkout -b my-new-feature
- Commit your changes: git commit -am 'Add some feature'
- Push to the branch: git push origin my-new-feature
- Send a pull request and bug the maintainer until it gets merged and published. :) Make sure to add yourself to AUTHORS.
Running Tests
To run django-pyas2's
test suite:
django-admin.py test pyas2 --settings=example.settings --pythonpath=.
License
- GNU GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/> Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.