Skip to content
David Vegh edited this page Apr 22, 2022 · 23 revisions

Tutorial

write-pypistat makes it easy to collect, filter and save pypi statistics to csv files.

Initilaize a new WritePypiStat class

WritePypiStat's constructor has two parameter:

  • package : str
    name of the target pypi package
  • outdir : str, optional
    path of the directory where the gathered data will be saved into csv files (default None)

In these examples we initilaize a WritePypiStat class in order to collect statistics about pypistats pypi package.

Example - Initilaize without outdir

Because outdir is None the gathered statistics will be only printed to the console.

from writepypistat import WritePypiStat

write_pypistat = WritePypiStat("pypistats")

Example - Initilaize with outdir

Because outdir is not None the gathered statistics will be saved into csv files too.

from writepypistat import WritePypiStat

write_pypistat = WritePypiStat("pypistats", "stats/pypistat")

Properties of the WritePypiStat class

WritePypiStat has three property:

  • outdir : str, optional
    path of the directory where the gathered data will be saved into csv files (default None)
  • merge_stored_data : bool, optional
    flag used to merge actual pypi statistics with previously stored (default True)
  • drop_percent_column : bool, optional
    flag used to drop percent column (derived) from pypi statistics (default True)
  • drop_total_row : bool, optional
    flag used to drop total row (derived) from pypi statistics (default True)

Example - Change outdir

outdir can be changed or set at anytime.

from writepypistat import WritePypiStat

write_pypistat = WritePypiStat("pypistats")

write_pypistat.outdir = "stats/pypistat"

Example - Change merge_stored_data

from writepypistat import WritePypiStat

write_pypistat = WritePypiStat("pypistats")

write_pypistat.merge_stored_data= False

Example - Change drop_percent_column

from writepypistat import WritePypiStat

write_pypistat = WritePypiStat("pypistats")

write_pypistat.drop_percent_column= False

Example - Change drop_total_row

from writepypistat import WritePypiStat

write_pypistat = WritePypiStat("pypistats")

write_pypistat.drop_total_row= False

Methods of the WritePypiStat class

WritePypiStat has two public methods.

get_pypistat

Returns the specified pypi statistics.
Args:

  • stat_type : enum type of the statistics
    (overall, python_major, python_minor, system)

  • start_date : str, optional start date of the statistics, should be in one of the following formats:

    • %Y, for example 2022
      which means to be collected from 2022-01-01
    • %Y-%m, for example 2022-01
      which means to be collected from 2022-01-01
    • %Y-%m-%d, for example 2022-01-01
      which means to be collected from 2022-01-01
    • None
      which means to be collected from the last available date
      default (None)
  • end_date : str, optional end date of the statistics, should be in one of the following formats:

    • %Y, for example 2022
      which means to be collected until 2022-12-31
    • %Y-%m, for example 2022-12
      which means to be collected until 2022-12-31
    • %Y-%m-%d, for example 2022-12-31
      which means to be collected until 2022-12-31
    • None
      which means to be collected until the actual day
      default (None)

Example - Get pypi overall statistics between 2022-03-01 and 2022-04-10

from writepypistat import WritePypiStat

write_pypistat = WritePypiStat("pypistats")

stats = write_pypistat.get_pypistat("overall", "2022-03", "2022-04-10")

write_pypistat

Writes the specified pypi statistics.
Args:

  • stat_type : enum type of the statistics
    (overall, python_major, python_minor, system)

  • date_period : enum grouping of the statistics
    (day, month, year, None)
    default (None)

  • start_date : str, optional start date of the statistics, should be in one of the following formats:

    • %Y, for example 2022
      which means to be collected from 2022-01-01
    • %Y-%m, for example 2022-01
      which means to be collected from 2022-01-01
    • %Y-%m-%d, for example 2022-01-01
      which means to be collected from 2022-01-01
    • None
      which means to be collected from the last available date
      default (None)
  • end_date : str, optional end date of the statistics, should be in one of the following formats:

    • %Y, for example 2022
      which means to be collected until 2022-12-31
    • %Y-%m, for example 2022-12
      which means to be collected until 2022-12-31
    • %Y-%m-%d, for example 2022-12-31
      which means to be collected until 2022-12-31
    • None
      which means to be collected until the actual day
      default (None)

Example - Write pypi system statistics between 2022-01-01 and 2022-03-31, grouped by month

from writepypistat import WritePypiStat

write_pypistat = WritePypiStat("pypistats")

write_pypistat.write_pypistat("system", "month", "2022", "2022-03")
Clone this wiki locally