django-pyas2

AS2 file transfer Server built on Python and Django.


Keywords
as2, django-application, edi, file-transfer, python
License
GPL-3.0
Install
pip install django-pyas2==1.0.0b1

Documentation

django-pyAS2

Latest Docs https://travis-ci.org/abhishek-ram/django-pyas2.svg?branch=master https://github.com/abhishek-ram/django-pyas2/actions/workflows/run-tests.yml/badge.svg?branch=master&event=push

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

  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

Install django-environ and pytest into your environment to support the example.settings module and test framework.

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.