AS2 file transfer Server built on Python and Django.

as2, django-application, edi, file-transfer, python
pip install django-pyas2==1.2.0



Latest Docs

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.


  • 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


You can find more information in the documentation.


If you run into bugs, you can file them in our issue tracker.


  1. Check for open issues or open a fresh issue to start a discussion around a feature idea or a bug.
  2. Fork the repository on GitHub to start making your changes to the master branch (or branch off of it).
  3. Create your feature branch: git checkout -b my-new-feature
  4. Commit your changes: git commit -am 'Add some feature'
  5. Push to the branch: git push origin my-new-feature
  6. 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: test pyas2 --settings=example.settings --pythonpath=.



Version 3, 29 June 2007

Copyright (C) 2007 Free Software Foundation, Inc. <> Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.