def test__paramify_float(self): # Arrange version = 3.7 # Act param = pypistats._paramify("version", version) # Assert self.assertEqual(param, "&version=3.7")
def test__paramify_string(self): # Arrange period = "day" # Act param = pypistats._paramify("period", period) # Assert self.assertEqual(param, "&period=day")
def test__paramify_bool(self): # Arrange mirrors = True # Act param = pypistats._paramify("mirrors", mirrors) # Assert self.assertEqual(param, "&mirrors=true")
def test__paramify_none(self): # Arrange period = None # Act param = pypistats._paramify("period", period) # Assert self.assertEqual(param, "")
def test__paramify_float(self): # Arrange version = 3.7 # Act param = pypistats._paramify("version", version) # Assert assert param == "&version=3.7"
def test__paramify_bool(self): # Arrange mirrors = True # Act param = pypistats._paramify("mirrors", mirrors) # Assert assert param == "&mirrors=true"
def test__paramify_string(self): # Arrange period = "day" # Act param = pypistats._paramify("period", period) # Assert assert param == "&period=day"
def test__paramify_none(self): # Arrange period = None # Act param = pypistats._paramify("period", period) # Assert assert param == ""
def download_stats(projname: str, versions: T.Sequence[str]) -> pandas.DataFrame: endpoint = f"packages/{projname}/python_minor" params = ps._paramify("mirrors", False) dat_json = ps.pypi_stats_api(endpoint, params=params, total=None, format="json") dat = json.loads(dat_json) df = pandas.DataFrame(columns=versions) for d in dat["data"]: if d["category"] not in df.columns: continue df.loc[d["date"], d["category"]] = d["downloads"] df.index = pandas.to_datetime(df.index) df.attrs.update({"project_name": projname}) return df
def test__paramify(self, test_name, test_value, expected) -> None: # Act param = pypistats._paramify(test_name, test_value) # Assert assert param == expected