From b68d83841eff4591fef48a587153f67803f402d4 Mon Sep 17 00:00:00 2001 From: Brandon Friedrich - Undergrad Summer 2024 Date: Mon, 9 Sep 2024 14:54:14 -0700 Subject: [PATCH 1/3] pkg_resources update --- mkidcore/config.py | 6 +----- mkidcore/metadata.py | 4 ++-- mkidcore/objects.py | 9 ++++----- 3 files changed, 7 insertions(+), 12 deletions(-) diff --git a/mkidcore/config.py b/mkidcore/config.py index e0e208a..337a9f9 100644 --- a/mkidcore/config.py +++ b/mkidcore/config.py @@ -1,7 +1,6 @@ from __future__ import print_function import re import ruamel.yaml -from pkg_resources import Requirement, resource_filename from mkidcore.utils import caller_name from mkidcore.corelog import getLogger from multiprocessing import RLock @@ -16,6 +15,7 @@ import configparser from io import StringIO + RESERVED = ('._c', '._a') #Internal keys hidden from the user for storing comments and yaml = ruamel.yaml.YAML() @@ -32,10 +32,6 @@ def __missing__(self, key): DEFAULT_BMAP_CFGFILES = _BeamDict() -def defaultconfigfile(): - return resource_filename(Requirement.parse("mkidcore"), "default.yml") - - def extract_from_node(loader, keys, node): """attempt extraction of keys from a ruamel.yaml mapping node and return as a dict, does not support tagged types""" diff --git a/mkidcore/metadata.py b/mkidcore/metadata.py index 3d01c0a..509c4c5 100644 --- a/mkidcore/metadata.py +++ b/mkidcore/metadata.py @@ -4,7 +4,7 @@ import os from glob import glob import json -import pkg_resources as pkg +from importlib import resources as rs import csv from bisect import bisect from collections import defaultdict @@ -147,7 +147,7 @@ def _parse_inst_keys(csv_file): """ spaces to _ ? to null strip whitespace, keys are column 0 values are dict of other columns all keys forced to lower case """ - with open(pkg.resource_filename('mkidcore', csv_file)) as f: + with open(rs.files('mkidcore').joinpath(csv_file)) as f: data = [row for row in csv.reader(f)] data = [{k.strip().lower().replace(' ', '_').replace('?', ''): v.strip() for k, v in zip(data[0], l)} for l in data[1:]] diff --git a/mkidcore/objects.py b/mkidcore/objects.py index 0fa79d2..c88656f 100644 --- a/mkidcore/objects.py +++ b/mkidcore/objects.py @@ -2,7 +2,7 @@ import numpy as np from mkidcore.instruments import DEFAULT_ARRAY_SIZES from glob import glob -import pkg_resources as pkg +from importlib import resources as rs import mkidcore.config from mkidcore.corelog import getLogger import copy @@ -11,7 +11,6 @@ from datetime import datetime import json - class TimeStream(object): """ Class for holding a resonator's phase time-stream. @@ -151,10 +150,10 @@ def __init__(self, specifier='MEC', xydim=None, freqpath=''): raise Exception('The dimensions of the beammap entered do not match the beammap read in') else: try: - self._load(pkg.resource_filename(__name__, '{}.bmap'.format(default.lower()))) + self._load(rs.files(__name__).joinpath('{}.bmap'.format(default.lower()))) self.ncols, self.nrows = DEFAULT_ARRAY_SIZES[default.lower()] except IOError: - opt = ', '.join([f.rstrip('.bmap').upper() for f in glob(pkg.resource_filename(__name__, '*.bmap'))]) + opt = ', '.join([f.rstrip('.bmap').upper() for f in glob(rs.files(__name__).joinpath('*.bmap'))]) raise ValueError('Unknown default beampmap "{}". Options: {}'.format(default, opt)) @classmethod @@ -481,4 +480,4 @@ def __str__(self): return 'File: "{}"\n Well Mapped: {}'.format(self.file, self.nrows * self.ncols - (self.flags!=0).sum()) -mkidcore.config.yaml.register_class(Beammap) +mkidcore.config.yaml.register_class(Beammap) \ No newline at end of file From 983e44d47a0df75ad28197351a70108d3f1c26b8 Mon Sep 17 00:00:00 2001 From: Drew Nearing Date: Tue, 10 Sep 2024 12:56:09 -0700 Subject: [PATCH 2/3] Changed imports in test_config_dict.py --- tests/test_config_dict.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/test_config_dict.py b/tests/test_config_dict.py index be13514..0e53fd7 100644 --- a/tests/test_config_dict.py +++ b/tests/test_config_dict.py @@ -1,7 +1,7 @@ import unittest from unittest import TestCase import ruamel.yaml -from mkidcore.config import ConfigThing, RESERVED, defaultconfigfile +from mkidcore.config import ConfigThing, RESERVED yaml = ruamel.yaml.YAML() From 554e9370a30ed1ae0f6a68808c0a72366fcd302e Mon Sep 17 00:00:00 2001 From: Drew Nearing Date: Wed, 11 Sep 2024 13:02:20 -0700 Subject: [PATCH 3/3] Changed main.yaml in .github/workflows to have if statement under publish-package job. --- .github/workflows/main.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml index de08c25..206b4fe 100644 --- a/.github/workflows/main.yaml +++ b/.github/workflows/main.yaml @@ -44,6 +44,8 @@ jobs: name: upload release to PyPI runs-on: ubuntu-latest environment: publish-release + if: ${{ github.repository == 'MazinLab/MKIDCore' && github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags/v') && !contains(github.event.ref, 'dev') }} + permissions: # This permission is needed for private repositories. contents: read @@ -53,7 +55,6 @@ jobs: - uses: actions/checkout@v3 - uses: pdm-project/setup-pdm@v3 - name: Publish package distributions to PyPI - if: ${{ github.repository == 'MazinLab/MKIDCore' && github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags/v') && !contains(github.event.ref, 'dev') }} run: pdm publish # smoketest: # If we plug this into downstream projects, does magic smoke escape?