django-pyas2 icon indicating copy to clipboard operation
django-pyas2 copied to clipboard

AS2 file transfer Server built on Python and Django.

django-pyAS2

.. image:: https://img.shields.io/pypi/v/django-pyas2.svg :target: https://pypi.python.org/pypi/django-pyas2

.. image:: https://readthedocs.org/projects/django-pyas2/badge/?version=latest :target: http://django-pyas2.readthedocs.org :alt: Latest Docs

.. image:: https://travis-ci.org/abhishek-ram/django-pyas2.svg?branch=master :target: https://travis-ci.org/abhishek-ram/django-pyas2

.. image:: https://github.com/abhishek-ram/django-pyas2/actions/workflows/run-tests.yml/badge.svg?branch=master&event=push :target: https://github.com/abhishek-ram/django-pyas2/actions/workflows/run-tests.yml?query=branch%3Amaster++

.. image:: https://codecov.io/gh/abhishek-ram/django-pyas2/branch/master/graph/badge.svg :target: https://codecov.io/gh/abhishek-ram/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


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.

.. _`RFC 4130`: https://www.ietf.org/rfc/rfc4130.txt
.. _`documentation`: http://django-pyas2.readthedocs.org
.. _`the repository`: http://github.com/abhishek-ram/django-pyas2
.. _AUTHORS: https://github.com/abhishek-ram/django-pyas2/blob/master/AUTHORS.rst
.. _`issue tracker`: https://github.com/abhishek-ram/django-pyas2/issues