ticdat - coin-or-foundation/tlc GitHub Wiki

back to new submissions

Contribution Review Checklist for ticdat

Next step

2015-10-14: Submission put on hold by submitter ("We want to announce it in coordination with some marketing from other partner companies, and that coordination requires a few months delay.")

2016-07-09: "From my end, ticdat is now alive as an open source project! PyPi and GitHub hosting. Are you still interested in listing ticdat under the COIN-OR aegis? Is there any way to do that without having to relocate my hosting? (I.e. just pass some checklists and then include it on your page)."

2016-07-16: There is interest to keep the code in the Opalytics GitHub space and only mirror releases into the COIN-OR GitHub space.

Still required to get the process going:

  • Retrieve CSRO and DOL.

2016-12-11: Haven't heard from the submitter for several month and there seems to be have been little interest in having the project actually joining COIN-OR (the last suggestion was to manually mirroring when there is a new release). I'll therefore move this to the inactive submissions.

General

  • Project Description: Ticdat is built to automate the "less sexy" work required for mixed-integer-programming in Python. Ticdat is equally at home feeding data into Python MIP API libraries such as those provided by cplex, gurobipy or pulp. It can also be used to facilitate development with other prescriptive analytics tools (i.e. non linear solvers or constraint programming engines), so long as those tools have Python APIs.
  • Contributor: Peter Cacioppi
  • Contact Date: 29th September 2015
  • Handler: Stefan Vigerske
  • Reviewer: Stefan Vigerske and Peter Cacioppi
  • Sent instructions: could be

Legal

  • Received CSRO: (date)
  • Received DOL: (date)
  • OSI-approved license: BSD 2 Clause

Classification

  • Classified (Level 1-5): 4 or 5

Code and Documentation

  • README/LICENSE files: (exists and reasonable) (date checked)
  • Project Roadmap (Level 1 only): (exists and reasonable) (date checked)
  • AUTHORS/INSTALL files (Level 2 and above): (exists and reasonable) (date checked)
  • Code builds (Level 2 and above): (date checked)
  • Documentation (Level 3 and above): (exists and reasonable) (date checked)
  • Unit test (Level 4 and above): (has one and passed) (date checked)
  • Project binaries (Level 5): (exist and function properly) (date checked)

Assessment by Peter:

   - README/LICENSE files
   - I was going to use the BSD 2 Clause license. For README, I can just
      follow the template of something like the CyLP.
   - AUTHORS/INSTALL
   - Listing myself at this email address as author is fine
      - For installation, I was planning on making something pip install -
      able from PyPi. There would be no need to build from source because, at
      least for now, ticdat is straight Python. For system
compatibility reasons,
      ticdat would insure the xlrd, xlwt, csv and sqlite3 are all installed.
      - mdb file IO would be optional, and done through the pypyodbc
      library (which doesn't work on all OS, but is available for Windows). A
      user who wants to enable ticdat.mdb would simply install pypyodbc
      independently. When creating a TicDatFactory, ticdat will attach an mdb
      attribute iff the pypyodbc library is found.
   - Code builds
   - Not sure how this applies to a pure Python project. There is a long
      list of unit tests to verify functionality.
   - Documentation
   - The doc strings are in good shape right now. I think putting together
      something of the same caliber as what CyLP is doing would be pretty easy.
   - Unit test
   - I've been building them as I go. 1967 lines of non-white production
      code, 1349 of test code.
      -  I've got a check list of some deferred tests, once those are in
      the ratio should be pretty close to 1:1.
   - Project binaries
   - I assume not appropriate for a pure Python project.

Accepted

  • (Yes/No): (date)

Establishing Project

  • PM named: (name) (date)
  • PM familiar with Guidelines and Procedures for Project Management: (date)
    • Legal issues
    • Tracking contributions
    • Responding to bugs
    • Using SVN
    • Using Trac
    • Setting up a static Web page
    • Standard practices (versioning and release, build procedures)
  • Parameters for project creation mailed to submission manager:
   # SVNPROJ  : the project's name in the SVN repository
   # PROJDESC : short project description
   # PM       : space separated list of project manager COIN-OR id's
   # PM_EMAIL : email address of the PM managing the mailing lists
  • PM subscribed to mailing list: (date)

  • Code imported: (date)

  • PM given write access: (date)

  • Trac page set up: (date)

  • XML page (projDesc.xml, see documentation in the file itself, which can be copied and adapted from here) set up: (date)

  • Project listed on projects list (howto following), with link to XML file: (date)

    • Check out svn repo CoinWeb/projects.
    • Read projects.csv into your favourite spreadsheet. Make the necessary modifications and write out a revise projects.csv. You could modify projects.csv with a text editor. Slightly painful.
    • Run the command project_list_short.pl projects.csv. This'll produce two files, projects.html.new and coin-or-projects.xml.new. (You don't get to choose the output file names.)
    • Copy (or move) projects.html.new to index.html.
    • Copy (or move) coin-or-projects.xml.new to coin-or-projects.xml.
    • Finally, commit the modified projects.csv, index.html, and coin-or-projects.xml.
  • Project announcement: (date)

  • PM invited for full membership of COIN-OR (contact coin secretary): (date)

  • Moved this page to ArchivedChecklists: (date)

⚠️ **GitHub.com Fallback** ⚠️