diff --git a/pvl/_collections.py b/pvl/_collections.py
index afeab25..2abaf3a 100644
--- a/pvl/_collections.py
+++ b/pvl/_collections.py
@@ -34,6 +34,13 @@ class KeysView(MappingView):
         for key, _ in self._mapping:
             yield key
 
+    def __getitem__(self, index):
+        return self._mapping[index][0]
+
+    def __repr__(self):
+        keys = [key for key, _ in self._mapping]
+        return '%s(%r)' % (type(self).__name__, keys)
+
 
 class ItemsView(MappingView):
     def __contains__(self, item):
@@ -44,6 +51,9 @@ class ItemsView(MappingView):
         for item in self._mapping:
             yield item
 
+    def __getitem__(self, index):
+        return self._mapping[index]
+
 
 class ValuesView(MappingView):
     def __contains__(self, value):
@@ -56,6 +66,13 @@ class ValuesView(MappingView):
         for _, value in self._mapping:
             yield value
 
+    def __getitem__(self, index):
+        return self._mapping[index][1]
+
+    def __repr__(self):
+        values = [value for _, value in self._mapping]
+        return '%s(%r)' % (type(self).__name__, values)
+
 
 class OrderedMultiDict(dict, MutableMapping):
     """A ``dict`` like container.

items is not subscriptable in python3
As pointed out in #23, in python3 ``items()`` returns an [ItemsView](https://github.com/planetarypy/pvl/blob/master/pvl/_collections.py#L38) object which is not subscriptable
```
In [1]: import pvl

In [2]: label = pvl.loads("""
   ...:     foo = bar
   ...:     monty = python
   ...: """)

In [3]: items = label.items()

In [4]: items[0]
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-4-95f461411437> in <module>()
----> 1 items[0]

TypeError: 'ItemsView' object does not support indexing
```

But we should get something similar to:
```
In [4]: items[0]
Out [4]: ('foo', 'bar')
```
diff --git a/tests/test_collections.py b/tests/test_collections.py
index a77f9dc..50df73d 100644
--- a/tests/test_collections.py
+++ b/tests/test_collections.py
@@ -368,6 +368,39 @@ def test_py2_items():
     assert module.values() == [1, 2, 3]
 
 
+@pytest.mark.skipif(six.PY2, reason='requires python3')
+def test_py3_items():
+    module = pvl.PVLModule()
+
+    assert isinstance(module.items(), pvl._collections.ItemsView)
+    with pytest.raises(IndexError):
+        module.items()[0]
+
+    assert isinstance(module.keys(), pvl._collections.KeysView)
+    with pytest.raises(IndexError):
+        module.keys()[0]
+
+    assert isinstance(module.values(), pvl._collections.ValuesView)
+    with pytest.raises(IndexError):
+        module.values()[0]
+
+    module = pvl.PVLModule([
+        ('a', 1),
+        ('b', 2),
+        ('a', 3),
+    ])
+
+    assert isinstance(module.items(), pvl._collections.ItemsView)
+    assert module.items()[0] == ('a', 1)
+
+    assert isinstance(module.keys(), pvl._collections.KeysView)
+    assert module.keys()[0] == 'a'
+
+    assert isinstance(module.values(), pvl._collections.ValuesView)
+    assert module.values()[0] == 1
+
+
+
 if six.PY3:
     def iteritems(module):
         return module.items()

pip install -e .[dev]
parse_log_pytest
requirements.txt
flake8 pytest pytest-cov tox wheel
apt-get update apt-get install -y gcc
3.5
requirements.txt
pytest --no-header -rA --tb=line --color=no -p no:cacheprovider -W ignore::DeprecationWarning
attrs==22.2.0
certifi==2021.5.30
coverage==6.2
distlib==0.3.9
filelock==3.4.1
flake8==5.0.4
importlib-metadata==4.2.0
importlib-resources==5.4.0
iniconfig==1.1.1
mccabe==0.7.0
packaging==21.3
platformdirs==2.4.0
pluggy==1.0.0
-e git+https://github.com/planetarypy/pvl.git@a483fee7b9b658bb0c22586dc1ab87753439b998#egg=pvl
py==1.11.0
pycodestyle==2.9.1
pyflakes==2.5.0
pyparsing==3.1.4
pytest==7.0.1
pytest-cov==4.0.0
pytz==2025.2
six==1.17.0
toml==0.10.2
tomli==1.2.3
tox==3.28.0
typing_extensions==4.1.1
virtualenv==20.16.2
zipp==3.6.0

name: pvl
channels:
  - defaults
  - https://repo.anaconda.com/pkgs/main
  - https://repo.anaconda.com/pkgs/r
  - conda-forge
dependencies:
  - _libgcc_mutex=0.1=main
  - _openmp_mutex=5.1=1_gnu
  - ca-certificates=2025.2.25=h06a4308_0
  - certifi=2021.5.30=py36h06a4308_0
  - ld_impl_linux-64=2.40=h12ee557_0
  - libffi=3.3=he6710b0_2
  - libgcc-ng=11.2.0=h1234567_1
  - libgomp=11.2.0=h1234567_1
  - libstdcxx-ng=11.2.0=h1234567_1
  - ncurses=6.4=h6a678d5_0
  - openssl=1.1.1w=h7f8727e_0
  - pip=21.2.2=py36h06a4308_0
  - python=3.6.13=h12debd9_1
  - readline=8.2=h5eee18b_0
  - setuptools=58.0.4=py36h06a4308_0
  - sqlite=3.45.3=h5eee18b_0
  - tk=8.6.14=h39e8969_0
  - wheel=0.37.1=pyhd3eb1b0_0
  - xz=5.6.4=h5eee18b_1
  - zlib=1.2.13=h5eee18b_1
  - pip:
      - attrs==22.2.0
      - coverage==6.2
      - distlib==0.3.9
      - filelock==3.4.1
      - flake8==5.0.4
      - importlib-metadata==4.2.0
      - importlib-resources==5.4.0
      - iniconfig==1.1.1
      - mccabe==0.7.0
      - packaging==21.3
      - platformdirs==2.4.0
      - pluggy==1.0.0
      - py==1.11.0
      - pycodestyle==2.9.1
      - pyflakes==2.5.0
      - pyparsing==3.1.4
      - pytest==7.0.1
      - pytest-cov==4.0.0
      - pytz==2025.2
      - six==1.17.0
      - toml==0.10.2
      - tomli==1.2.3
      - tox==3.28.0
      - typing-extensions==4.1.1
      - virtualenv==20.16.2
      - zipp==3.6.0
prefix: /opt/conda/envs/pvl

tests/test_collections.py::test_py3_items
tests/test_collections.py::test_conversion
tests/test_collections.py::test_empty tests/test_collections.py::test_list_creation tests/test_collections.py::test_dict_creation tests/test_collections.py::test_keyword_creation tests/test_collections.py::test_key_access tests/test_collections.py::test_index_access tests/test_collections.py::test_slice_access tests/test_collections.py::test_set tests/test_collections.py::test_delete tests/test_collections.py::test_clear tests/test_collections.py::test_discard tests/test_collections.py::test_pop tests/test_collections.py::test_popitem tests/test_collections.py::test_update tests/test_collections.py::test_append tests/test_collections.py::test_len tests/test_collections.py::test_repr tests/test_collections.py::test_iterators tests/test_collections.py::test_equlity tests/test_collections.py::test_copy
pvl/_collections.py
pvl/_collections.py