One year ago, we decided to open-source our ContraxSuite analytics platform. Over the past year, the legal tech landscape has continued to shift toward the approach we espouse here at LexPredict. In addition, the shift toward open source has only increased in the past year, with Microsoft’s acquisition of GitHub only the latest evidence of this trend.
The law is destined to play a central role in facilitating and regulating the modern information economy. We believe, however, that in order to propel law into the future, we need to treat the law itself like the production of information. Before we can solve big problems with smart contracts, we need to structure existing legacy contracts. For the past year, we have iterated upon and improved the ContraxSuite software platform in order to aid lawyers, companies, and other legal tech entities in accelerating the pace of improvement and innovation through more open collaboration.
The release on July 5th marks our twelfth open source release for ContraxSuite. It includes greater integration of Django and Celery, and updates to LexPredict’s LexNLP toolkit.
New Features in ContraxSuite 1.1.1
Release 1.1.1 focused on the following features:
- Support multi-tier application scaling and auto-scaling on cloud providers such as AWS and Azure
- Fixed and updated several LexNLP methods, including updates to stopword and collocation models
- Added pre-trained model for detecting if a document is a contract
- Updated “Document Status” and “User Role” fields
- Implemented our own Django-Celery database backend to better manage tasks
- Uses separate Docker containers for main services
- Stabilize and improve Celery task execution
Detailed Changelog for ContraxSuite 1.1.1
Release 1.1.1 has the following updates and bug fixes:
- Improvements to LexNLP:
- Added is_contract method using pre-trained doc2vec embedding model for detecting whether a document is or is not a contract
- Multiple fixes and improvements in the get_companies method in the nltk_maxent module; in get_titles; and in get_currencies
- Standardized currency_type letter case in get_money method to prevent row duplication
- Updated stopword and collocation pickle files, added stopword and collocation scripts
- Improved segmenting sentences in order to not include page numbers in the results
- Improvements to ContraxSuite
- Allow users to start multiple Locate tasks
- Allow users to run is_contract and store results in document metadata
- Users can create separate user roles, define user permissions based on these role flags, and we’ve added management commands to install initial roles from fixtures
- We’ve added “Geography” document field type
- Provide user data through Ajax login response
- ContraxSuite no longer stores full document text in history table
- Added ReviewStatus.is_active flag to detect active documents, and added ReviewStatus model in the admin site
- Improved base methods for sorting, filtering, and paginating querysets
- Implemented our own Django-Celery database backend to easily store Celery tasks, track their progress, and log the information
- Ability to extract internal Nginx to a separate Docker container and make it route to all components
- Implemented text log rotating for all Docker services as a separate Docker container
- Improve Docker containers configuration to support multi-tier application scaling and auto-scaling on cloud providers such as AWS and Azure to better handle higher data volumes
- Implemented a workaround for processing tasks that are left over after killing Celery worker
- Switched to higher logger level for debug information, in order to optimize log size
- Added auto-retry for any failed Celery tasks
For more information about the release, as well as a complete issue-level changelog for each release of ContraxSuite, you can visit our documentation release notes and change log.
Keep The Conversation Going
Do you still have questions about how ContraxSuite works, or how you can get started using it? Are you a developer or organization interested in contributing? Either way, we’re all ears. Please reach out to us at firstname.lastname@example.org so we can talk more.