開發?

TABLIB正在積極發展中,歡迎投稿。

如果您有功能請求、建議或錯誤報告,請在上打開一個新問題 GitHub. 若要提交修補程序,請發送請求 GitHub.

設計注意事項?

TabLIB是用少量開發的 PEP 20 心中的成語。

  1. 美勝于丑。

  2. 顯式優于隱式。

  3. 簡單勝于復雜。

  4. 復雜總比復雜好。

  5. 可讀性計數。

還有幾件事要記?。?/p>

  1. 保持代碼干燥。

  2. 盡量簡單(使用)。

源代碼管理?

tablib源由 Git, 精益,平均,分布式源代碼控制機器。

存儲庫是可公開訪問的。

git clone git://github.com/jazzband/tablib.git

項目托管于 GitHub .

Git分支結構?

功能/修補程序/發布分支遵循 Successful Git Branching Model . Git-flow 是管理存儲庫的好工具。我強烈推薦。

master

當前生產版本( 3.2 )關于PyPi。

每個版本都有標簽。

提交修補程序時,請在打開請求之前將您的功能/更改放在其自己的分支中 GitHub.

添加新格式?

tablib歡迎新的格式添加!格式建議包括:

  • MySQL轉儲

按慣例編碼?

tablib提供了一個用于添加格式支持的微框架。最簡單的理解方法就是使用它。所以,讓我們定義自己的格式,命名為 xxx .

從版本1.0開始,Tablib格式是基于類的,可以動態注冊。

  1. 編寫自定義格式類:

    class MyXXXFormatClass:
        title = 'xxx'
    
        @classmethod
        def export_set(cls, dset):
            ....
            # returns string representation of given dataset
    
        @classmethod
        def export_book(cls, dbook):
            ....
            # returns string representation of given databook
    
        @classmethod
        def import_set(cls, dset, in_stream):
            ...
            # populates given Dataset with given datastream
    
        @classmethod
        def import_book(cls, dbook, in_stream):
            ...
            # returns Databook instance
    
        @classmethod
        def detect(cls, stream):
            ...
            # returns True if given stream is parsable as xxx
    

    不包括支架

    如果格式不支持導入/導出機制( e.g. csv 排除 Databook 支持),只是不要定義各自的類方法。將引發適當的錯誤。

  2. 注冊你的班級:

    from tablib.formats import registry
    
    registry.register('xxx', MyXXXFormatClass())
    

三。從那時起,你應該可以像使用內置的Tablib格式一樣使用新的自定義格式,例如使用 dataset.export('xxx') 將使用 MyXXXFormatClass.export_set 方法。

測試tablib?

測試對tablib的穩定性至關重要。這個穩定的項目被許多公司和開發人員用于生產中,因此必須確保發布的每個版本都是完全可操作的。在為tablib開發新功能時,也要確保為它編寫適當的測試。

在為tablib開發特性時,測試更改是否存在潛在問題的最簡單方法是直接運行測試套件。

$ tox

持續集成?

每個拉入請求在收到后都會自動進行測試和檢查 GitHub Actions 。如果您破壞了構建,您將收到相應的電子郵件。

任何人都可以隨時查看生成狀態和歷史記錄。

今后還將在這里列入其他報告,包括 PEP 8 檢查并報告超大數據集的壓力。

建立文檔?

文檔是用強大、靈活和標準的python文檔格式編寫的, reStructured Text . 文檔構建由強大的pocoo項目提供支持, Sphinx. 這個 API Documentation 主要是在整個模塊內聯記錄的。

醫生們住在 tablib/docs . 為了構建它們,首先需要安裝sphinx。

$ pip install sphinx

然后,要構建文檔的HTML版本,只需從 docs 目錄:

$ make html

你的 docs/_build/html 然后,目錄將包含文檔的html表示,可以在大多數web服務器上發布。

也可以生成文檔 epub , ** Latex ** , json , &c 類似地。


確保查看 API Documentation .